log4net使用,.net 记录日志文件

参考前人的文献:

  1. 点击解决方案下的引用,右键后选择“管理NuGet程序包”,输入log4net点击安装。
  2. 安装完成后,解决方案下的App.config进行配置。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!--添加configSections并放在前面,里面填写log4net的配置说明-->
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler"/>
  </configSections>
  <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
   </startup>
<!--添加log4net的配置-->
  <log4net>
    <logger name="checkLog"> <!--log4net工厂模式取对应的log配置-->
      <level value="ALL"/>
      <appender-ref ref="SysAppender"/> <!--格式文件-->
    </logger>
    <appender name="SysAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Log\\" /> <!--路径-->
      <param name="AppendToFile" value="true" />
      <param name="MaxFileSize" value="10240" />
      <param name="MaxSizeRollBackups" value="100" />
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyyMMdd_HHmm&quot;.log&quot;" /> <!--日期格式-->
      <param name="RollingStyle" value="Date" />
      <!--信息日志布局-->
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"  />
      </layout>
    </appender>
  </log4net>
</configuration>
  1. AssemblyInfo.cs添加如下
[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch = true)]
  1. 在代码中添加对应的代码
private log4net.ILog deLog = log4net.LogManager.GetLogger("checkLog");

//调用
public Form1()
        {
            InitializeComponent();
            try
            {
                deLog.Info("read file in");
                logReader = new StreamReader("./remind.txt", Encoding.Default); //注意这个Encoding.Default可以避免中文乱码
                string lineReadIn = logReader.ReadLine();
                while(null != lineReadIn){
                    deLog.Info("line.." + lineReadIn);
                    checkedListBox1.Items.Add(lineReadIn);
                    lineReadIn = logReader.ReadLine();
                }
            }
            catch (Exception e) {
                MessageBox.Show("找不到文件", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            
        }

PS:.NET文件的默认编码也是Unicode。除非另外指定,StreamReader的默认编码为Unicode,而不是当前系统的ANSI代码。但是文档大部分还是以ANSI编码存储,中文文本使用的是GB2312,所以在读取文本的时候要指定编码格式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值