【问题】

用如下的步骤应用了Log4Net:

  1. 建立了一个公用的项目, 在里面引入了Log4net的Nuget package.
  2. 在公用的项目中建立了一个类,加上了Log4net的attribute.

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

namespace MyNamespace.Common

{

public
class
LogHelper

{

static LogHelper()

{

var logCfg = new
FileInfo(AppDomain.CurrentDomain.BaseDirectory + "log4net.config");

XmlConfigurator.ConfigureAndWatch(logCfg);

}

public
static
void WriteError(Type t, Exception ex)

{

log4net.ILog log = log4net.LogManager.GetLogger(t);

log.Error("", ex);

}

 

public
static
void WriteLog(Type t, string msg)

{

log4net.ILog log = log4net.LogManager.GetLogger(t);

//log.Info(msg + "\r\n");

log.Info(msg);

}

 

 

}

}

 

  1. 建立了一个新项目,然后引用这个公用项目。
  2. 在这个新项目中加入了log4net.config文件。

<?xml
version="1.0"
encoding="utf-8" ?>

<configuration>

<configSections>

<section
name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>

</configSections>

 

<log4net>

<appender
name="RollingLogFileAppender"
type="log4net.Appender.RollingFileAppender">

<!--日志路径-->

<param
name= "File"
value= "Log/"/>

<!--是否是向文件中追加日志-->

<param
name= "AppendToFile"
value= "true"/>

<!--log保留天数-->

<param
name= "MaxSizeRollBackups"
value= "10"/>

<!--日志文件名是否是固定不变的-->

<param
name= "StaticLogFileName"
value= "false"/>

<!--日志文件名格式为:2008-08-31.log-->

<param
name= "DatePattern"
value= "yyyy-MM-dd&quot;.log&quot;"/>

<!--日志根据日期滚动-->

<param
name= "RollingStyle"
value= "Date"/>

<layout
type="log4net.Layout.PatternLayout">

<param
name="ConversionPattern"
value="%n%date{HH:mm:ss,fff} [%-5level] %m" />

</layout>

</appender>

 

<!--
控制台前台显示日志
-->

<appender
name="ColoredConsoleAppender"
type="log4net.Appender.ColoredConsoleAppender">

<mapping>

<level
value="ERROR" />

<foreColor
value="Red, HighIntensity" />

</mapping>

<mapping>

<level
value="Info" />

<foreColor
value="Green" />

</mapping>

<layout
type="log4net.Layout.PatternLayout">

<conversionPattern
value="%n%date{HH:mm:ss,fff} [%-5level] %m" />

</layout>

 

<filter
type="log4net.Filter.LevelRangeFilter">

<param
name="LevelMin"
value="Info" />

<param
name="LevelMax"
value="Fatal" />

</filter>

</appender>

 

<root>

<!--(高) OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL (低) -->

<level
value="all" />

<!--<appender-ref ref="ColoredConsoleAppender"/>-->

<appender-ref
ref="RollingLogFileAppender"/>

</root>

</log4net>

</configuration>

 

  1. 在新项目的文件中记Log.

LogHelper.WriteLog(typeof(MyClass), "here");

 

进行了上述的步骤后,程序运行的时候,并没有 Log产生。

【分析】

调试了一下,发现在实际运行的时候,Loger各个级别的输出都成false了。

这是怎么回事那?

 

最后发现程序输出路径下并没有log4net.config,这样的结果就是log4net无法找到配置文件,所以就默认都禁止输出了。

 

【解决方法】

在程序中将log4net.config设置为总是拷贝到输出目录。

这样,每次编译的时候,log4net.config就会被拷贝到程序的输出目录。

再运行程序的时候,就有log产生了。

Log4net的不能产生Log文件的问题的更多相关文章

  1. log4net 使用与配置 每天一份log文件

    1.下载 或 在nuget安装 log4net 2. web.config (app.config) <configuration> <configSections> < ...

  2. C#中使用Log4net日志输出到本地文件、Textbox或Listview

    网上很多配置log4net的方法,但是排行靠前的 根本就没有说明清除,导致浪费了两个小时来搞清楚如何配置,真是无语,特写此文,给那些刚接触log4net的朋友 1.参考链接:http://blog.s ...

  3. log4net的分类型输出文件的配置

    <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSe ...

  4. log4net生成多个日志文件

    使用Log4Net日志组件时,经常会碰到这样一种场景,我想把错误的日志记录在Error.log文件中,而把操作的日志放在Operation.log文件中 经过几番尝试,终于实现了,在此把Log4Net ...

  5. IISExpress Log 文件路径

    问题 用VS做开发时经常用IISExpress测试web程序,那么在测试过程中生成的Log文件放在哪里了? 答案 情况1 默认情况下 applicationhost.config 文中定义了连个日志文 ...

  6. SQLServer2005删除log文件和清空日志的方案

    数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间.SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作.可以通过直接删除log文件和清空日 ...

  7. 转 listener.log文件过大导致oracle数据库连接非常慢

    数据库(31)  最近发现oracle数据库连接非常慢,sqlplus很快,用客户端就很慢,甚至会无响应. 然后服务器内存一下就飙升到了90%,不是表空间占满了,也不是数据库连接数占满了.重启还是一样 ...

  8. sql2008r 收缩数据库日志log文件;删除errorlog文件的方法

    1.清空log文件,以减少数据库文件log所占的空间 USE dbname1 ; GO ALTER DATABASE dbname1 SET RECOVERY SIMPLE;--设置简单恢复模式 GO ...

  9. 关于一次oracle sqlplus可登陆,但监听起不来的解决。由于listener.log文件超过4G

    1.在oracle服务器上cmd 执行 lsnrctl 执行start 过了好久,提示监听程序已经启动. 再执行status 过来好久,才提示命令执行成功. 最后找到原因是因为C:\Oracle\di ...

随机推荐

  1. LPC43xx SGPIO I2C Implementation

    I²C SGPIO Configuration SGPIO is a hardware feature of LPC4300 series. There are 16 SGPIO pins calle ...

  2. [Go] Http包 使用简介

    请求的结构 HTTP 的交互以请求和响应的应答模式.Go 的请求我们早就见过了,handler 函数的第二个参数 http.Requests.其结构为: type Request struct { M ...

  3. TQ2440开发板存储器

    TX2440A与TQ2440A开发板使用核心板完全相同 有过51单片基础的同学应该都会看懂下图,先看下图,对实验板存储器分布有一个整体印象: s3c2440存储器概述: 1.S3C2440A的存储器管 ...

  4. delphi TOnFormVisibleChangeEvent 事件应用

    TGQIFileMgrForm = class(TForm) 定义 property OnVisibleChange: TOnFormVisibleChangeEvent read FOnVisibl ...

  5. Snmp学习总结(六)——linux下安装和配置SNMP

    一.安装SNMP 1.1.下载Net-SNMP的源代码 选择一个SNMP版本,比如5.7.1,下载地址如下:http://sourceforge.net/projects/net-snmp/files ...

  6. win10企业版永久激活2017怎么用

    Win10正式版永久激活用命令和密钥即可工具原料:电脑+win10win10企业版永久激活方法如下:1."WIN+R"打开运行对话框,输入命令slmgr.vbs -xpr,点击确定 ...

  7. 奇怪的问题,疑惑?不用的 User agent 居然gzip不一样?

    问题描述: 使用同一款浏览器(Chrome Version 41.0.2272.118 (64-bit)),访问同一个地址:http://www.skhktown.com/hkcity/resourc ...

  8. Maven 构建

    最近在工作中越来越经常的用到了Maven作为项目管理和Jar包管理和构建的工具,感觉Maven的确是很好用的.而且要将Maven的功能最大发挥出来,多模块是一个很好的集成例子. 一个Maven项目包括 ...

  9. 《Excel效率手册:早做完,不加班》

    <Excel效率手册:早做完,不加班> 基本信息 作者: 陈锡卢    杨明辉 出版社:清华大学出版社 ISBN:9787302350743 上架时间:2014-5-8 出版日期:2014 ...

  10. SVG 文字居中整理

    一.基于SVG文档的文字居中 text-anchor: middle; //水平方向居中 dominant-baseline: middle; //垂直居中 1.使用内联样式配置居中 <svg ...