c#中log4net为什么没有输出日志信息呢?

liantongbi11 2016-09-09 04:21:32

这是一个简单的demo,只是为了学习log4的使用。

1,loghelper类库项目中添加log4net.dll的引用

2,直接在类库Common中的AssemblyInfo.cs中添加Log4Net的配置文件地址。
[assembly: log4net.Config.DOMConfigurator(ConfigFileExtension = "log4net.config", Watch = true)]

3,在UI中添加log4net.config配置文件
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
</configSections>
<appSettings>
</appSettings>
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="Log\" />
<rollingStyle value="Composite" />
<datePattern value='yyyy-MM-dd".log"' />
<staticLogFileName value="false" />
<maximumFileSize value="30MB" />
<countDirection value="-1" />
<maxSizeRollBackups value="-1" />
<appendToFile value="true" />

<layout type="log4net.Layout.PatternLayout">
<header value="-----------程序开始运行----------- " />
<footer value="-----------程序结束运行----------- " />
<conversionPattern value="%date [%thread] %-5level [%ndc] - %message%newline" />
<conversionPattern value="记录时间:%date 线程ID:[%thread] 日志级别:%-5level 出错类:%logger property:[%property{NDC}] - 错误描述:%message%newline" />
</layout>
</appender>
<!--定义输出到控制台命令行中-->
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="ConsoleAppender" />
</root>
</log4net>
</configuration>


4,loghelper类中
public static readonly ILog loginfo = log4net.LogManager.GetLogger("log4net");


public static void Log(string info)
{
if (loginfo.IsInfoEnabled)
{
loginfo.Info(info);
}
}

在button打出LOG,但是却没有什么反应?
...全文
1227 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
1.添加引用 2. AssemblyInfo.cs文件中添加这句 [assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)] 3. 使用时,实例化 private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); 4.配置文件 <?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="log/log.log" /> <!--file可以指定具体的路径 eg : d:\\test.log。不指定的话log被生成在项目的bin/Debug 或者 bin/Release目录下 (web的项目 默认生成在根目录下)--> <appendToFile value="true" /> <rollingStyle value="Size" /> <maxSizeRollBackups value="5" /> <!--备份log文件的个数最多10个--> <maximumFileSize value="0.1MB" /> <!--每个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="ALL" /> <!--指定将此级别及以上的log打印到log文件中--> <appender-ref ref="RollingLogFileAppender" /> </root> </log4net> </configuration> 5.如果有问题,你看看framework的版本,不能是client profile版

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧