我刚接手使用log4net的xmllayout用于记录一个C#项目。log4net的XMLLayout产生太多的元素
的问题是,在日志中的每个事件有4个数据值:计算机名,主机名,用户名和应用程序,它始终是相同的,但重复每个事件,导致不必要的大的日志文件。
如何防止这些被记录的?
配置文件:
<?xml version="1.0"?>
<configuration>
<!--log4net setting-->
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="%env{LocalAppData}\\myApp\\myApp.log.xml" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="1" />
<maximumFileSize value="3MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.XmlLayoutSchemaLog4j">
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingFileAppender" />
</root>
</log4net>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_myAppWCF" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="">
<extendedProtectionPolicy policyEnforcement="Never" />
</transport>
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:12372/conserv" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_myAppWCF" contract="myAppNOWServiceClient.myAppWCF"
name="BasicHttpBinding_myAppWCF" />
</client>
</system.serviceModel>
<startup>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
你为什么在.NET应用程序中使用log4j的,而不是log4net的? – Oded 2011-06-03 19:40:57
对不起,我的意思是log4net。 – NSK 2011-06-03 19:48:02
请显示您的log4net配置,然后我们可能会提供帮助。 – 2011-06-03 22:45:38