• log4net基本日志使用笔记[windows application]


    Ref: http://www.cnblogs.com/wangsaiming/archive/2013/01/11/2856253.html

           http://www.cnblogs.com/zhoufoxcn/archive/2010/11/23/2515616.html

           http://wenku.baidu.com/link?url=AmPE0F0jj5NgwFiAICdCF_xcUZ8W1KhDwGudlEmYrOUZ3oNGnEN0qAlNU-N5etgiirjz9X6mO56RBQt7fVScWXLujQRvfrOJ7jXsw4knpWS

    一. log4net程序集下载

        下载地址:http://logging.apache.org/log4net/download_log4net.cgi

      (选择具体版本,最新版为1.2.15 log4net-1.2.15-bin-newkey.zip

       将对应dll添加到项目引用中。

       具体操作参见 http://www.cnblogs.com/wangsaiming/archive/2013/01/11/2856253.html

    二. 配置log4net

        如果还没有添加应用程序配置文件,则项目中添加app.config配置文件

        配置内容及说明如下:

        

    <?xml version="1.0"?>
    <configuration>
    	<configSections>
    		<!--type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"-->
    		<section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
    	</configSections>
    	
    	<appSettings>
    <!-- ...............--> </appSettings> <!--Log4net 日志配置--> <log4net> <!--运行日志输出到文件中(回滚记录多文件中)--> <appender name="LogFileAppender1" type="log4net.Appender.RollingFileAppender"> <!--定义文件存放位置,默认与程序同目录里--> <file value="logs\"/> <appendToFile value="true"/> <rollingStyle value="Date"/> <datePattern value="'Log1'_yyyyMMdd'.log'"/> <staticLogFileName value="false"/> <!--一个时间保留日志的数量--> <param name="MaxSizeRollBackups" value="10"/> <param name="maximumFileSize" value="10MB"/> <layout type="log4net.Layout.PatternLayout"> <!--每条日志末尾的文字说明--> <!--输出格式--> <!--样例:2016-01-01 13:42:32 ,222 [filename;line] INFO Log4NetDemo.MainClass [(null)] - info--> <!--conversionPattern value="%date [%file:%line] [%-5level] %logger[%property{NDC}] - %message%newline "--> <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss,fff} [%file:%line] [%-5level] - %message%newline "/> </layout> <!--记录INFO-FATAL级别信息--> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="INFO" /> <levelMax value="FATAL" /> </filter> </appender> <!--统计日志输出到文件中--> <appender name="LogFileAppender2" type="log4net.Appender.RollingFileAppender"> <!--定义文件存放位置--> <file value="logs\"/> <appendToFile value="true"/>
    <lockingModel value="log4net.Appender.FileAppemder.MinimalLock"/> <!--多个线程访问时最小锁实现--> <rollingStyle value="Date"/> <datePattern value="'Log2'_yyyyMMdd'.log'"/> <staticLogFileName value="false"/> <!--一个时间保留日志的数量--> <param name="MaxSizeRollBackups" value="10"/> <param name="maximumFileSize" value="10MB"/> <layout type="log4net.Layout.PatternLayout"> <!--每条日志末尾的文字说明--> <!--输出格式--> <!--样例:2016-01-01 13:42:32 [filename;line] INFO Log4NetDemo.MainClass [(null)] - info--> <conversionPattern value="%newline %date [%file:%line] [%-5level] %logger[%property{NDC}] - %message"/> </layout> <!--记录INFO-FATAL级别信息--> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="INFO" /> <levelMax value="FATAL" /> </filter> </appender>
    <!-- 默认采用root的话,则所有logger会同时写到对应文件中 <root> <level value="ALL"/> <appender-ref ref="LogFileAppender1"/> <appender-ref ref="LogFileAppender2"/> </root> --> <logger name="Log1"> <level value="ALL"/> <appender-ref ref="LogFileAppender1"/> </logger> <logger name="Log2"> <level value="ALL"/> <appender-ref ref="LogFileAppender2"/> </logger> </log4net> <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

      Level级别:DEBUG <INFO<WARN<ERROR<FATAL

    有关级别说明参考  http://blog.csdn.net/milk1626/article/details/5761738

    有关写到文件还是数据库等及相关参数说明参考 http://www.cnblogs.com/zhoufoxcn/archive/2010/11/23/2515616.html

    三. 实际使用

     注意: 在AssemblyInfo.cs文件中加入[assembly: log4net.Config.XmlConfigurator(Watch = true)] 解析相关配置文件class LoggerHelper

    {
    //如果只是用root做默认处理的话,可以使用如下logger //private static ILog Logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

    //log1 写入对应文件 private static ILog Logger1 = log4net.LogManager.GetLogger("Log1");
    //log2 写入对应文件 private static ILog Logger2 = log4net.LogManager.GetLogger("Log2"); public static void Log1Info(string message) { Logger1.Info(message); } public static void Log2Info(string message) { Logger2.Info(message); }
    }

    在其他程序中要写日志到哪个文件中可以调用相应函数

      

  • 相关阅读:
    我要翻译《Think Python》- 004 第二章 变量, 表达式和语句
    我要翻译《Think Python》-003 第一章 编程之道
    我要翻译《Think Python》-002 贡献列表 & 目录部分
    我要翻译《Think Python》
    ORA-12514 解决方法
    好玩的东西
    sublime HtmlPrettify
    [转]bing壁纸天天换 初识shell魅力
    nginx+lua+redis 处理APK包替换
    算法整理
  • 原文地址:https://www.cnblogs.com/leenice/p/5113016.html
Copyright © 2020-2023  润新知