小编Lao*_*aoR的帖子

Log4Net多个记录器

首先,我在其他主题中看到了很多答案和提示(最相似的是:Log4Net:多个记录器),但没有适用的答案.

我希望有2个记录器具有不同的文件追加器,并限制每个记录器写入根记录器.它是控制台应用程序.以下全部代码:

using System;
using System.Diagnostics;
using System.Linq;
using log4net;

namespace Test_log4net
{
class Program
{
    static void Main(string[] args)
    {
        log4net.Config.XmlConfigurator.Configure();

        ILog logger = LogManager.GetLogger("Async");
        logger.Info("started async");
        Console.WriteLine("Logger: {0}", (logger as log4net.Core.LogImpl).Logger.Name);
        Console.WriteLine("Appenders: {0}", string.Join(", ", (logger as log4net.Core.LogImpl).Logger.Repository.GetAppenders().ToList().Select(appendr => appendr.Name)));


        ILog logger2 = LogManager.GetLogger("Sync");
        logger2.Info("started sync"); //changed: from logger -> to logger2 on 10/21/2014
        Console.WriteLine("Logger: {0}", (logger2 as log4net.Core.LogImpl).Logger.Name);
        Console.WriteLine("Appenders: {0}", string.Join(", ", (logger2 as log4net.Core.LogImpl).Logger.Repository.GetAppenders().ToList().Select(appendr => appendr.Name)));

        Console.ReadKey();
    }       
}
}
Run Code Online (Sandbox Code Playgroud)

和App.config文件:

<?xml version="1.0" encoding="utf-8" …
Run Code Online (Sandbox Code Playgroud)

logging rollingfileappender log4net-configuration

15
推荐指数
1
解决办法
2万
查看次数