log4net完整示例

配置文件路径"Config\\Log4Net.config"(相对执行目录)

配置文件内容:

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
  
  <root>
    <level value="INFO" />
    <appender-ref ref="InfoAppender" />
    <appender-ref ref="ConsoleAppender" />
  </root>
  <logger name="logerror" additivity="false">
    <level value="ERROR" />
    <appender-ref ref="ErrorAppender" />
  </logger>
  <logger name="loginfo" additivity="false">
    <level value="INFO" />
    <appender-ref ref="InfoAppender" />
  </logger>
  
  
  <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
    <param name="File" value="C:\\Log\\WindowsApplication1\\Error\\" />
    <param name="AppendToFile" value="true" />
    <param name="MaxSizeRollBackups" value="100" />
    <param name="MaxFileSize" value="10240" />
    <param name="StaticLogFileName" value="false" />
    <param name="DatePattern" value="yyyyMMdd".htm"" />
    <param name="RollingStyle" value="Date" />
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="<HR COLOR=red>%n异常时间:%d [%t] <BR>%n异常级别:%-5p <BR>%n异 常 类:%c [%x] <BR>%n%m <BR>%n <HR Size=1>"  />
    </layout>
  </appender>
  <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
    <param name="File" value="C:\\Log\\WindowsApplication1\\Info\\" />
    <param name="AppendToFile" value="true" />
    <param name="MaxFileSize" value="10240" />
    <param name="MaxSizeRollBackups" value="100" />
    <param name="StaticLogFileName" value="false" />
    <param name="DatePattern" value="yyyyMMdd".htm"" />
    <param name="RollingStyle" value="Date" />
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="<HR COLOR=blue>%n日志时间:%d [%t] <BR>%n日志级别:%-5p <BR>%n日 志 类:%c [%x] <BR>%n%m <BR>%n <HR Size=1>"  />
    </layout>
  </appender>
  <!--控制台-->
  <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%5level [%thread] (%file:%line) - %message%newline" />
    </layout>
  </appender>

</log4net>

辅助类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.Diagnostics;
using log4net;

namespace ClassLibrary1
{
    public class Log
    {
        //private static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

        /// <summary>
        /// 获取调用Log类公共方法的调用者信息
        /// </summary>
        /// <returns></returns>
        static string GetCaller()
        {
            // get call stack
            //StackTrace stackTrace = new StackTrace();
            //MethodBase mb = stackTrace.GetFrame(1).GetMethod();

            MethodBase mb = new StackFrame(2).GetMethod();
            Type t = mb.DeclaringType;
            return String.Format("{0}.{1}", t.FullName, mb.Name);
        }


        public static void Default(string message)
        {
            ILog lg = log4net.LogManager.GetLogger("");
            lg.InfoFormat("{0}:{1}", GetCaller(), message);
        }

        public static void Info(string message)
        {
            ILog lg = log4net.LogManager.GetLogger("loginfo");
            lg.InfoFormat("{0}:{1}", GetCaller(), message);
        }

        public static void Error(string message)
        {
            ILog lg = log4net.LogManager.GetLogger("logerror");          
            lg.InfoFormat("{0}:{1}", GetCaller(), message);
        }
    }
}


在辅助类所在项目的AssemblyInfo中加入

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

适用于桌面应用,web应用中指定的ConfigFile的值可能需调整;配置文件里的log文件保存路径可调整为相对路径


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值