您的位置:首页 > 编程语言 > C#

c# - Log4Net

2016-02-17 16:41 387 查看
可以使用以下基类实现Log4Net

using log4net;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace Base
{
public static class LogingService
{
private static Dictionary<Type, ILog> logs = new Dictionary<Type, ILog>();

private static object logsLock = new object();

public static ILog Write
{
get
{
Type key = new StackTrace().GetFrames()
.Skip(1)
.First()
.GetMethod().DeclaringType;

if (key == null)
{
key = typeof(LogingService);
}

if (!logs.ContainsKey(key))
{
lock (logsLock)
{
if (!logs.ContainsKey(key))
{
logs.Add(key, LogManager.GetLogger(key));
}
}
}

return logs[key];
}
}
}
}


在另外一个类(工程)中使用:

using Base;
using System;
namespace LogTest
{
class Program
{
static void Main(string[] args)
{
LogingService.Write.Error("程序发生错误!");
Console.ReadLine();
}
}
}


配置XML:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>

<log4net>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message%newline" />
</layout>
</appender>

<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\Development\Log\LogTest\" />
<encoding value="utf-8" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<staticLogFileName value="false" />
<preserveLogFileNameExtension value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %-75.75logger - %message%newline" />
</layout>
<datePattern value="yyyyMMdd'.txt'" />
</appender>

<root>
<level value="ERROR" />
<appender-ref ref="FileAppender" />
<appender-ref ref="ConsoleAppender" />
</root>
</log4net>

</configuration>


配置Log4Net可以参考:
http://logging.apache.org/log4net/release/manual/configuration.html http://www.cnblogs.com/neekerss/archive/2011/01/04/1925171.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: