【问题标题】:C# Log4net Daily Log File Config & Usage ExampleC# Log4net 每日日志文件配置和使用示例
【发布时间】:2011-07-31 07:43:03
【问题描述】:

有人可以提供一个示例,说明如何为 c# 中使用的 log4net 设置和登录 YYYYMMDD 格式的每日日志文件。日志文件名称应为Data_20110407.txt、Data_20110408.txt等。

<appender name="ErrorLogFileAppender" type="log4net.Appender.RollingFileAppender">
bla bla...?

And in c# how should i call to log into this specific log? Log4Net.Error() or something?

感谢您的帮助!

【问题讨论】:

    标签: c# log4net


    【解决方案1】:

    这是配置部分:

        <appender name="InfoRollingLogFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
    
            <param name="File" value="auditlog"/>
            <param name="RollingStyle" value="Date"/>
            <param name="DatePattern" value="_yyyy-MM-dd.lo\g"/>
            <param name="StaticLogFileName" value="false"/>
            <maximumFileSize value="100KB" />
            <appendToFile value="true" />
            <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%newline ---------------START---------------------- %newline %date - %message %newline ----------------END--------------------- %newline" />
            </layout>
            <filter type="log4net.Filter.LevelRangeFilter">
                <levelMin value="DEBUG" />
                <levelMax value="DEBUG" />
            </filter>
            <filter class="log4net.Filter.DenyAllFilter"/>
        </appender>
    
        <appender name="ErrorRollingLogFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
    
            <param name="File" value="errorlog"/>
            <param name="RollingStyle" value="Date"/>
            <param name="DatePattern" value="_yyyy-MM-dd.lo\g"/>
            <param name="StaticLogFileName" value="false"/>
            <maximumFileSize value="100KB" />
            <appendToFile value="true" />
            <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%newline ---------------START---------------------- %newline %date - %message %stackTrace %newline ----------------END--------------------- %newline" />
            </layout>
            <filter type="log4net.Filter.LevelRangeFilter">
                <levelMin value="WARN" />
                <levelMax value="ERROR" />
            </filter>
        </appender>
    
        <root>
            <level value="DEBUG" />
            <appender-ref ref="InfoRollingLogFileAppender" />
            <appender-ref ref="ErrorRollingLogFileAppender" />
        </root>
    
    </log4net>
    

    您可以通过以下方式登录:

    private static readonly log4net.ILog log = log4net.LogManager.GetLogger(
        System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
    
    
    public void LogError(string message)
    {
        log.Error(Program.LogPrefix +"\r\r\nERROR:" + message);
    }
    
    public void LogAudit(string message)
    {
        log.Debug(Program.LogPrefix + "\r\r\nINFO:" + message);
    }
    

    【讨论】:

    • hi sajoshi 日志文件保存在哪里?
    • 日志文件保存到当前程序集位置..bin目录
    • 好的,但是日志文件名变成了 Data_2011-04-07.PxP 而不是 Data_2011-04-07.txt?我看到其他组件正在写入同一个日志文件,我猜该组件也在调用 .Debug 。我怎样才能做到只有我的代码写入这个日志文件?感谢您的帮助 sajoshi。
    【解决方案2】:

    【讨论】:

    • 我需要完整的配置和使用工作示例
    猜你喜欢
    • 2014-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多