C#使用log4net输出日志到文件&控制台&PostgreSQL

项目环境

  • VS2017
  • log4net v2.0.3
  • PostgreSQL v3.0

引用log4net

右键项目,点击【管理NuGet程序包】,浏览中搜索【log4net】,下载安装即可。

注意:若要输出到PostgreSQL,需要使用v2.0.3版本。

我开始安装的v2.0.8,发现sql语句中无法解析参数,修改为低版本就好了。


添加配置文件

  • 右键项目,添加配置文件【log4net.config】;
  • 将配置文件的属性设置为【如果较新则复制】;
  • 在配置文件的【configuration】节点下添加配置信息:
  <!-- Level的级别,由高到低 -->
  <!-- None > Fatal > ERROR > WARN > DEBUG > INFO > ALL-->
  <!-- 解释:如果level是ERROR,则在cs文件里面调用log4net的info()方法,则不会写入到日志文件中-->
  <log4net>
    <!--错误日志类-->
    <logger name="error">
      <!--定义记录的日志级别-->
      <level value="ALL" />
      <!--输出到文件-->
      <appender-ref ref="ErrorAppender" />
      <!--输出到控制台-->
      <appender-ref ref="ColoredConsoleAppender"/>
      <!--输出到数据库-->
      <appender-ref ref="AdoNetAppender_PGSQL"/>
    </logger>
    <!--信息日志类-->
    <logger name="info">
      <level value="ALL" />
      <appender-ref ref="InfoAppender" />
      <appender-ref ref="ColoredConsoleAppender"/>
      <appender-ref ref="AdoNetAppender_PGSQL"/>
    </logger>
    <!--调试日志类-->
    <logger name="debug">
      <level value="ALL" />
      <appender-ref ref="DebugAppender" />
      <appender-ref ref="ColoredConsoleAppender"/>
      <appender-ref ref="AdoNetAppender_PGSQL"/>
    </logger>
    <!--错误日志附加介质:输出到文件-->
    <!-- name属性指定其名称,type则是log4net.Appender命名空间的一个类的名称,意思是,指定使用哪种介质-->
    <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
      <!--日志输出到exe程序这个相对目录下-->
      <file value="Log\\" />
      <!--输出的日志不会覆盖以前的信息-->
      <appendToFile value="true" />
      <!--备份文件的个数-->
      <maxSizeRollBackups value="100" />
      <!--单个日志文件的最大大小-->
      <maxFileSize value="10240" />
      <!--是否使用静态文件名-->
      <staticLogFileName value="false" />
      <!--日志文件名-->
      <datePattern value="'Error_'yyyyMMdd'.txt'" />
      <!--文件
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值