官方文档:
http://logging.apache.org/log4net/release/config-examples.html
配置:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> </configSections> <log4net> <root> <level value="ALL" /> </root> <logger name="Log.All"> <level value="INFO" /> <appender-ref ref="Log.AllAppender" /> <appender-ref ref="udpAppender" /> </logger> <appender name="Log.AllAppender" type="log4net.Appender.RollingFileAppender,log4net"> <param name="File" value="Logs\\" /> <param name="AppendToFile" value="true" /> <param name="RollingStyle" value="Composite" /> <param name="MaxSizeRollBackups" value="-1" /> <param name="MaximumFileSize" value="20MB" /> <param name="DatePattern" value="yyyyMM\\yyyyMMdd".txt"" /> <param name="StaticLogFileName" value="false" /> <layout type="log4net.Layout.PatternLayout,log4net"> <param name="ConversionPattern" value="%m%n" /> </layout> </appender> <appender name="udpAppender" type="log4net.Appender.UdpAppender"> <remoteAddress value="10.255.4.12" /> <remotePort value="2020" /> <encoding value="utf-8"/> <!--输出详细内容--> <!--<layout type="log4net.Layout.XmlLayout"> <locationInfo value="true" /> </layout>--> <!--直接输出消息--> <layout type="log4net.Layout.PatternLayout, log4net"> <conversionPattern value="%m" /> </layout> </appender> </log4net> </configuration>
调用:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
FileInfo fi = new FileInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "log4net.config")); XmlConfigurator.ConfigureAndWatch(fi); log4net.GlobalContext.Properties["LogAppName"] = "plutus"; ILog LogAll = LogManager.GetLogger("Log.All"); LogAll.Info("hello,test"+DateTime.Now.ToString());
另外一台服务器开启UDP监听:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
Console.WriteLine("start listerning..."); IPEndPoint ip = new IPEndPoint(IPAddress.Any, 0); UdpClient client = new UdpClient(2020); while(true) { byte[] buffer = client.Receive(ref ip); string data = Encoding.Default.GetString(buffer); Console.WriteLine(data); }
使用xml输出时的内容:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
<log4net:event logger="Log.All" timestamp="2016-08-10T12:19:20.1397415+08:00" level="INFO" thread="14" domain="UnitTestAdapter: Running test" identity="admin-PC\admin" username="admin-PC\admin"> <log4net:message>hello,test2016/8/10 12:19:20</log4net:message> <log4net:properties> <log4net:data name="log4net:Identity" value="admin-PC\admin" /> <log4net:data name="LogAppName" value="plutus" /> <log4net:data name="log4net:UserName" value="admin-PC\admin" /> <log4net:data name="log4net:HostName" value="admin-PC" /> </log4net:properties> <log4net:locationInfo class="UnitTest.UnitTest1" method="testLog" file="e:\Projects\Plutus\UnitTest\UnitTest1.cs" line="53" /> </log4net:event>