MVC 控制台 +log4net 存入数据库

首先在你的项目 安装好 log4net包

如下图进入AssemblyInfo.cs类

代码里面 加上这一串

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]

创建一个log4net.config配置文件

写入代码  自行更换你的数据库名称 列表 对应名称 注意



  

  

    

    

    

    

    

    

    

    

    

      

      

      

    

    

    

      

      

      

      

        

      

    

    

    

      

      

      

      

        

      

    

    

    

      

      

      

      

        

      

    

    

      

      

      

      

        

      

    

    

      

      

      

      

        

      

    

    

    

      

      

      

      

        

        

      

    

    

      

      

      

      

        

      

    

  

  

  

    
    

    

    

    

    
    

  

  

  

  

  



    

    



    

    



    

    



    

    



    

    



    

    



    

    



    

    

    

    



    

    



    

    

      

    

  

  在App.config文件

引入

//这段是必须的

    
//这是引入刚才写的配置文件

  然后创建一个LogHelper类

代码

public class LogHelper
    {
        public static readonly ILog loginfo = LogManager.GetLogger("INFO");
        public static readonly ILog logerror = LogManager.GetLogger("ERROR");
        public static readonly ILog logwarn = LogManager.GetLogger("WARN");
        public static readonly ILog logfatal = LogManager.GetLogger("FATAL");
        public static readonly ILog logdebug = LogManager.GetLogger("DEBUG");

        public static void Info(LogContent content)
        {
            loginfo.Info(content);
        }
        public static void Error(LogContent content, Exception ex)
        {
            logerror.Error(content, ex);
        }
        public static void Warn(LogContent content)
        {
            logwarn.Warn(content);
        }
        public static void Fatal(LogContent content)
        {
            logfatal.Fatal(content);
        }
        public static void Debug(LogContent content)
        {
            logdebug.Debug(content);
        }
    }

  再创建一个LogPublicClass类

/// 
    /// 包含了所有的自定字段属性
    /// 
    public class LogContent
    {
        public LogContent(string macAddress, string computerName, string actionsclick, string description)
        {

            UserIP = macAddress;

            UserName = computerName;

            ActionsClick = actionsclick;

            Message = description;
        }
        /// 

        /// 访问IP

        /// 

        public string UserIP { get; set; }



        /// 

        /// 系统登陆用户

        /// 

        public string UserName { get; set; }



        /// 

        /// 动作事件

        /// 

        public string ActionsClick { get; set; }



        /// 

        /// 日志描述信息

        /// 

        public string Message { get; set; }
    }
    public class MyLayout : PatternLayout
    {
        public MyLayout()
        {
            this.AddConverter("property", typeof(LogInfoPatternConverter));
        }
    }
    public class LogInfoPatternConverter : PatternLayoutConverter
    {
        protected override void Convert(System.IO.TextWriter writer, log4net.Core.LoggingEvent loggingEvent)
        {
            if (Option != null)
            {
                WriteObject(writer, loggingEvent.Repository, LookupProperty(Option, loggingEvent));
            }
            else
            {
                WriteDictionary(writer, loggingEvent.Repository, loggingEvent.GetProperties());
            }
        }
        private object LookupProperty(string property, log4net.Core.LoggingEvent loggingEvent)
        {
            object propertyValue = string.Empty;
            PropertyInfo propertyInfo = loggingEvent.MessageObject.GetType().GetProperty(property);
            if (propertyInfo != null)
                propertyValue = propertyInfo.GetValue(loggingEvent.MessageObject, null);
            return propertyValue;
        }
    }

  如果是MVC WebAPI 就在 global.asax 文件 放入这行

//应用程序启动时,自动加载配置log4Net
            XmlConfigurator.Configure();

  控制台

MVC 控制台 +log4net 存入数据库_第1张图片

运行测试

这是几个月前的  当时看的那篇博客 忘记了

感觉行的话就 点一下推荐 谢谢

你可能感兴趣的:(MVC 控制台 +log4net 存入数据库)