using log4net.Core; using log4net.Layout.Pattern; using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace VueWebApi.Log4net { public class ActionConverter: PatternLayoutConverter { protected override void Convert(System.IO.TextWriter writer, LoggingEvent loggingEvent) { var actionInfo = loggingEvent.MessageObject as ActionLoggerInfo; if (actionInfo == null) { writer.Write(""); } else { switch (this.Option.ToLower()) { case "userid": writer.Write(actionInfo.ActionClick); break; case "unitcode": writer.Write(actionInfo.UserCode); break; case "menuid": writer.Write(actionInfo.UserIP); break; default: writer.Write(""); break; } } } } }