在使用过程中,个人碰几个常见问题,总结如下:

问题1:单独log4net配置,保存在log4net.config文件中。

办法:

i.修改log4net初始化方法:

log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)

ii.创建log4net.config文件,基本内容如下:

<configuration>

<configSections>

<section name="log4net" 

type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>

</configSections>

<log4net>

<root>

<level value="ALL"/>

<appender-ref ref="LogFileAppender"/>

</root>

<appender name="LogFileAppender" type="log4net.Appender.FileAppender">

<param name="File" value="log/website.log"/>

<param name="AppendToFile" value="true"/>

<layout type="log4net.Layout.PatternLayout">

<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] &lt;%X{auth}&gt;%n - %m%n"/>

</layout>

</appender>

</log4net>

</configuration>

 

问题2:开启log4net内部日志。

办法:

Log4net内部日志默认是关闭的,需要手动打开,并做一些配置,细节如下:

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

    <appSettings>

        <add key="log4net.Internal.Debug" value="true"/>

    </appSettings>

 

    ...

    

    <system.diagnostics>

        <trace autoflush="true">

            <listeners>

                <add 

                    name="textWriterTraceListener" 

                    type="System.Diagnostics.TextWriterTraceListener" 

                    initializeData="C:\log4net.internal.log" />

            </listeners>

        </trace>

    </system.diagnostics>

 

    ...

</configuration>

 

问题3:配置log4net缓冲大小。

办法:

在log4net中,默认缓冲大小为512,如果对于实时管理日志时,需要修改此大小,配置如下:

<appender name="AdoNetAppenderOracle" type="log4net.Appender.AdoNetAppender">

            <!--BufferSize为缓冲区大小-->

            <param name="BufferSize" value="1" />

</appender>