- 下载log4net Apache log4net - Download Apache log4net
- 修改AssemblyInfo.cs
添加 [assembly: log4net.Config.DOMConfigurator(ConfigFile="log.log4net",ConfigFileExtension="log4net",Watch=true)] - 在项目添加自己的logger .日志组件单件模式就可以了
public class Logger
{
private static log4net.ILog logger = log4net.LogManager.GetLogger("ALL");
public static void Log(string message)
{
logger.Debug(message);
}
//在这里添加项目适合的Log 重载 如 public static void Log(string message,Exception ex)
} - 上面提到的log.log4net文件,先贴下我在项目里的配置:
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="rollingFile" />
</root><appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net" >
<param name="File" type="" value="log" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="yyyy-MM-dd".log"" />
<param name="maxSizeToRollBackups" value="10" />
<param name="maximumFileSize" value="5MB" />
<!--日志文件名 静态 动态-->
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
<param name="Header" value=" ----------------------header-------------------------- " />
<param name="Footer" value=" ----------------------footer-------------------------- " />
</layout>
</appender>
<appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net">
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
<logger name="Log4NetTest.LogTest">
<level value="DEBUG" />
<appender-ref ref="rollingFile" />
<appender-ref ref="coloredConsoleApp" />
<appender-ref ref="SystemEvent" />
</logger>
</log4net>
开发项目里一直使用log4net,可是以前一直没有写笔记的习惯,做过的东西,学过的技术,搜到的好东西,在这里和大家分享
%n(new line):换行
%d(datetime):输出当前语句运行的时刻
%r(run time):输出程序从运行到执行到当前语句时消耗的毫秒数
%t(thread id):当前语句所在的线程ID
%p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN…等
%c(class):当前日志对象的名称
%L:输出语句所在的行号
%F:输出语句所在的文件名
%-数字:表示该项的最小长度,如果不够,则用空格填充
例如,转换模式为%d [%t] %-5p %c - %m%n 的 PatternLayout 执行 Logger.Log(“Hello”); 将生成类似于以下内容的输出:
2010-04-15 09:55:11,421 [2720] DEBUG ALL - Hello.