请选择 进入手机版 | 继续访问电脑版
查看: 85|回复: 0

log4net快速上手

[复制链接]
  • TA的每日心情
    开心
    前天 19:06
  • 签到天数: 1469 天

    [LV.10]以坛为家III

    1177

    主题

    3082

    帖子

    9万

    积分

    管理员

    IBC编程社区-原道楠

    Rank: 9Rank: 9Rank: 9

    积分
    94058

    推广达人突出贡献优秀版主荣誉管理论坛元老

    发表于 2019-8-13 18:53:33 | 显示全部楼层 |阅读模式

    马上加入IBC,查看更多教程

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    原文地址:https://www.cnblogs.com/lsgsanxiao/p/5845300.html
    略有删改
       1.配置文件,可以单独创建log4net.config文件,然后手动指定目录,也可以在项目的app.config或web.config的configuration节点下插入以下代码

    1. <?xml version="1.0" encoding="utf-8" ?>
    2. <configuration>
    3. <configSections>
    4. <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
    5. </configSections>
    6. <log4net>
    7. <logger name="logerror">
    8. <level value="ERROR" />
    9. <appender-ref ref="ErrorAppender" />
    10. </logger>
    11. <logger name="loginfo">
    12. <level value="INFO" />
    13. <appender-ref ref="InfoAppender" />
    14. </logger>
    15. <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
    16. <!--设置日志存储路径-->
    17. <param name="File" value="Data//WebLog//LogError//" />
    18. <!--是否追加到文件-->
    19. <param name="AppendToFile" value="true" />
    20. <!--最多产生的日志文件数,超过则只保留最新的n个。设定值value="-1"为不限文件数-->
    21. <param name="MaxSizeRollBackups" value="100" />
    22. <param name="MaxFileSize" value="1024" />
    23. <!--是否只写到一个文件中-->
    24. <param name="StaticLogFileName" value="false" />
    25. <!--这是按日期产生文件夹,并在文件名前也加上日期-->
    26. <param name="DatePattern" value="yyyyMM/dd&quot;.log&quot;" />
    27. <!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])-->
    28. <param name="RollingStyle" value="Date" />
    29. <layout type="log4net.Layout.PatternLayout">
    30. <param name="ConversionPattern" value="%n异常时间:%d [%t] %n异常级别:%-5p %n异常位置:[%thread] (%file:%line) %n消息描述:%message%n异常:%exception%n%n " />
    31. </layout>
    32. </appender>
    33. <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
    34. <!--设置日志存储路径-->
    35. <param name="File" value="Data//WebLog//LogInfo//" />
    36. <!--是否追加到文件-->
    37. <param name="AppendToFile" value="true" />
    38. <!--最多产生的日志文件数,超过则只保留最新的n个。设定值value="-1"为不限文件数-->
    39. <param name="MaxSizeRollBackups" value="100" />
    40. <param name="MaxFileSize" value="1024" />
    41. <!--是否只写到一个文件中-->
    42. <param name="StaticLogFileName" value="false" />
    43. <!--这是按日期产生文件夹,并在文件名前也加上日期-->
    44. <param name="DatePattern" value="yyyyMM/dd&quot;.log&quot;" />
    45. <!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])-->
    46. <param name="RollingStyle" value="Date" />
    47. <layout type="log4net.Layout.PatternLayout">
    48. <param name="ConversionPattern" value="%n日志时间:%d [%t] %n日志级别:%-5p %n消息描述:%c [%x] %n%m %n " />
    49. </layout>
    50. </appender>
    51. </log4net>
    52. </configuration>
    复制代码



    2.读取配置   在项目启动文件里加入读取配置的代码,可以说Program.cs或者Global.cs等   如果是直接卸载项目配置文件下,用这种方式读取

    1. log4net.Config.XmlConfigurator.Configure();
    复制代码


    如果是单独写的log4net.config文件,则需要把文件路径传给Configure()方法

    1. var fi = new System.IO.FileInfo(path);
    2. log4net.Config.XmlConfigurator.Configure(fi);
    复制代码


    3.帮助类

    1. /// <summary>
    2. /// LogHelper的摘要说明。
    3. /// </summary>
    4. public class LogHelper {
    5. /// <summary>
    6. /// 静态只读实体对象info信息
    7. /// </summary>
    8. public static readonly log4net.ILog Loginfo = log4net.LogManager.GetLogger("loginfo");
    9. /// <summary>
    10. /// 静态只读实体对象error信息
    11. /// </summary>
    12. public static readonly log4net.ILog Logerror = log4net.LogManager.GetLogger("logerror");

    13. /// <summary>
    14. /// 添加info信息
    15. /// </summary>
    16. /// <param name="info">自定义日志内容说明</param>
    17. public static void WriteLog(string info) {
    18. try {
    19. if (Loginfo.IsInfoEnabled) {
    20. Loginfo.Info(info);
    21. }
    22. } catch { }
    23. }


    24. /// <summary>
    25. /// 添加异常信息
    26. /// </summary>
    27. /// <param name="info">自定义日志内容说明</param>
    28. /// <param name="ex">异常信息</param>
    29. public static void WriteLog(string info, Exception ex) {
    30. try {
    31. if (Logerror.IsErrorEnabled) {
    32. Logerror.Error(info, ex);
    33. }
    34. } catch { }
    35. }
    36. }
    复制代码


    <br>来源:<a href="https://www.cnblogs.com/fb208/p/11327909.html" target="_blank">https://www.cnblogs.com/fb208/p/11327909.html</a><br>免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则