1、Nuget安装,当前版本2.0.8
<?xml version="1.0" encoding="utf-8" ?> <@H_502_29@configuration> <@H_502_29@configSections> <@H_502_29@section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> </@H_502_29@configSections> <@H_502_29@log4net debug="true"> <@H_502_29@root> <@H_502_29@level value="DEBUG" /> <@H_502_29@appender-ref ref="RollingLogFileAppender" /> <@H_502_29@appender-ref ref="ConsoleAppender" /> </@H_502_29@root> <@H_502_29@appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" > <@H_502_29@layout type="log4net.Layout.PatternLayout"> <@H_502_29@conversionPattern value="[%date] %level [%thread][%c{1}:%line] - %m%n" /> </@H_502_29@layout> </@H_502_29@appender> <@H_502_29@appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender" > <@H_502_29@param name="File" value="game" /> <@H_502_29@param name="DatePattern" value="‘.‘yyyy-MM-dd-HH‘.log‘" /> <@H_502_29@param name="AppendToFile" value="true" /> <@H_502_29@layout type="log4net.Layout.PatternLayout"> <@H_502_29@conversionPattern value="[%date] %level [%thread][%c{1}:%line] - %m%n" /> </@H_502_29@layout> </@H_502_29@appender> </@H_502_29@log4net> </@H_502_29@configuration>
注意:要在文件属性中将“复制到输出目录”选项设置为“如果较新则复制”
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config",Watch = true)]
using log4net; private static readonly ILog logger = LogManager.GetLogger(typeof(GameClient)); Thread.CurrentThread.Name = @H_502_29@"@H_502_29@main@H_502_29@";//为了将主线程名与其他线程区别开 //初始化log4net log4net.Config.XmlConfigurator.Configure(); logger.Debug(@H_502_29@"@H_502_29@初始化连接开始@H_502_29@"); logger.InfoFormat(@H_502_29@"@H_502_29@测试日志 name={0}@H_502_29@",@H_502_29@"@H_502_29@client@H_502_29@");
5、输出结果:
[2017-08-11 20:18:19,350] DEBUG [main][GameClient:24] - 初始化连接开始 [2017-08-11 20:18:19,363] DEBUG [main][GameClient:28] - 初始化连接完毕 [2017-08-11 20:18:19,364] INFO [main][SuperSocketDemo:35] - 测试日志 name=client
UPDAT:
不知道为什么代码不能编辑了,只能暂时放在下面。
如果需要通过DebugView这类的工具查看Trace信息,配置内容如下:
<?xml version="1.0" encoding="utf-8" ?> <@H_502_29@configuration> <@H_502_29@configSections> <@H_502_29@section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> </@H_502_29@configSections> <@H_502_29@log4net debug="true"> <@H_502_29@root> <@H_502_29@level value="DEBUG" /> <@H_502_29@appender-ref ref="RollingLogFileAppender" /> <@H_502_29@appender-ref ref="ConsoleAppender" /> <@H_502_29@appender-ref ref="TraceAppender" /> </@H_502_29@root> <@H_502_29@appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender" > <@H_502_29@param name="File" value="LoadOrderInterface.log" /> <@H_502_29@param name="DatePattern" value="‘.‘yyyy-MM-dd-HH‘.log‘" /> <@H_502_29@param name="AppendToFile" value="true" /> <@H_502_29@layout type="log4net.Layout.PatternLayout"> <@H_502_29@conversionPattern value="[%date] %level [%thread][%c{1}:%line] - %m%n" /> </@H_502_29@layout> </@H_502_29@appender> <@H_502_29@appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" > <@H_502_29@layout type="log4net.Layout.PatternLayout"> <@H_502_29@conversionPattern value="[%date] %level [%thread][%c{1}:%line] - %m%n" /> </@H_502_29@layout> </@H_502_29@appender> <@H_502_29@appender name="TraceAppender" type="log4net.Appender.TraceAppender"> <@H_502_29@layout type="log4net.Layout.PatternLayout"> <@H_502_29@conversionPattern value="%date %level [%thread] %logger [%property{NDC}] - %message%newline" /> </@H_502_29@layout> </@H_502_29@appender> </@H_502_29@log4net> </@H_502_29@configuration>