Log4Net基本配置
开源日志管理工具,项目主页:http://logging.apache.org/log4net/
基本用法:
1、程序目录新建目录“Config”,目录内新建文件“log4net.config”,右键->属性->“复制到输出目录” 选 “始终复制”
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="RollingLogFileAppender" type="System.Configuration.IgnoreSectionHandler"/> </configSections> <log4net> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <!--1. 文件路径,如果RollingStyle为Composite或Date,则这里设置为目录,文件名在DatePattern里设置,其他则这里要有文件名。已经扩展支持虚拟目录--> <file value="Logs/" /> <!--2. 创建新文件的方式,可选为Size(按文件大小),Date(按日期),Once(每启动一次创建一个文件),Composite(按日期及文件大小),默认为Composite--> <rollingStyle value="Date" /> <!--3. 当 RollingStyle 为 Composite 或 Date,这里设置文件名格式--> <datePattern value="yyyy-MM-dd'.log'" /> <!--4. true/false,默认为true。为true时,RollingStyler的date值将无效。且为true时,需要在file里指定文件名,所有日志都会记录在这个文件里。--> <staticLogFileName value="false" /> <!--5. 当 rollingStyle 为Composite 或 Size,这里设置最大文件大小(可以KB,MB,GB为单位,默认为字节)--> <maximumFileSize value="1KB" /> <!--6. 默认值为-1。当文件超过MaximumFileSize的大小时,如果要创建新的文件来存储日志,会根据CountDirection的值来重命名文件。 大于-1的值时,file里指定的文件名会依次加上.0,.1,.2递增。 当等于或小于-1时,创建依赖于MaxSizeRollBackups参数值,创建备份日志数。--> <countDirection value="-1" /> <!--7. 备份日志数目,默认为0。在CountDirection为负数时有效。--> <maxSizeRollBackups value="-1" /> <!--8. true/false,默认为true。当文件存在时,是否在原文件上追加内容。--> <appendToFile value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date %level %thread %logger - %message %newline" /> </layout> </appender> <root> <!-- 记录哪个级别以上的日志: OFF->FATAL->ERROR->WARN->INFO->DEBUG/ALL --> <level value="INFO" /> <appender-ref ref="RollingLogFileAppender" /> </root> </log4net> </configuration>
2、修改程序目录 AssemblyInfo.cs
加入以下代码:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Config/log4net.config", Watch = true)]
3、控制台调用示例:
static void Main(string[] args) { var logger = LogManager.GetLogger(typeof(Program)); for (int i = 0; i < 1000; i++) { logger.Error("Error 级别日志."); } Console.WriteLine("done."); Console.Read(); }
配置比较多,更多配置请参见官方文档:http://logging.apache.org/log4net/release/manual/configuration.html