• .Net WinForm下配置Log4Net(总结不输出原因)


    最近做一个winform项目,配置了Log4net 但是总是不能输出,搜索了很多文章加上自己的探索发现自己在项目中添加的 Log4Net.config 生成时没有被复制到Debug文件夹下,

    所以程序在调用日志输出时找不到这个配置文件,所以没有输出(在网上搜了很多,也有很多说是路径问题造成不能输出)

    解决办法:1.在项目工程中,选中 Log4Net.config 文件,右击 --》属性--》复制到输出目录--》始终复制 

                    

          2.在项目工程中,选中log4net.dll文件,右击--》属性--》复制到输出目录--》始终复制

    这样的话,每次生成都会将这两个文件复制到Debug下

    3.在项目的Properties --》Assemblyinfo.cs 下添加代码

    [assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]

    4. 我的Log4Net.config配置文件是这样的

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
      </configSections>
     
      <log4net debug="true">
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
          <file value="logapplicationLog.log" />
          <!--file可以指定具体的路径 eg : d:\test.log。不指定的话log被生成在项目的bin/Debug 或者 bin/Release目录下 (web的项目 默认生成在根目录下)-->
          <appendToFile value="true" />
          <rollingStyle value="Size" />
          <maxSizeRollBackups value="10" />
          <!--备份log文件的个数最多10个-->
          <maximumFileSize value="2MB" />
          <!--每个log文件最大是2M,如果超过2M将重新创建一个新的log文件,并将原来的log文件备份。-->
          <staticLogFileName value="true" />
          <layout type="log4net.Layout.PatternLayout">
            <!--指定log的格式-->
            <conversionPattern value="[%date]  %thread -- %-5level -- %logger [%M] -- %message%newline" />
          </layout>
        </appender>
     
        <root>
          <level value="DEBUG" />
          <!--指定将此级别及以上的log打印到log文件中-->
          <appender-ref ref="RollingLogFileAppender" />
        </root>
      </log4net>
      <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
      </startup>
    </configuration>

      

    然后大功告成

  • 相关阅读:
    1-直播转点播
    3-美团 HTTP 服务治理实践
    3-SSDB 高性能NoSQL数据库, 用于替代 Redis.
    配置kubectl在Mac(本地)远程连接Kubernetes集群
    4-rocketmq 发送时异常:system busy 和 broker busy 解决方案
    3-RocketMQ 简单梳理 及 集群部署笔记
    2-Rocketmq产品架构(参考阿里云)
    1-RocketMq 学习 中文文档(一)
    tar命令参数详解
    Ubuntu 安装 .bundle 文件
  • 原文地址:https://www.cnblogs.com/net-sky/p/14622831.html
Copyright © 2020-2023  润新知