log4Net控制台输出

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using log4net;
using log4net.Config;

namespace ConsoleLog4Net
{
    class Program
    {
        static void Main(string[] args)
        {
            var logCfg = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "log4net.config");
            XmlConfigurator.ConfigureAndWatch(logCfg);
            ILog logger = LogManager.GetLogger(typeof(Program));

            logger.Debug("Debug");
            logger.Info("Info");
            logger.Warn("Warn");
            logger.Error("Error");
            logger.Fatal("Fatal");

            Console.ReadLine();
        }
    }
}

log4net.conifg

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
    <sectionGroup name="common">
      <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging"/>
    </sectionGroup>
  </configSections>
  <log4net>
    <appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
      <mapping>
        <level value="ERROR" />
        <foreColor value="White" />
        <backColor value="Red, HighIntensity" />
      </mapping>
      <mapping>
        <level value="DEBUG" />
        <backColor value="Green" />
      </mapping>

      <mapping>
        <level value="Info" />
        <backColor value="Yellow" />
      </mapping>
      
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="Debug"/>
        <param name="LevelMax" value="Fatal"/>
      </filter>
    </appender>

    <root>
      <level value="ALL" />
      <appender-ref ref="ColoredConsoleAppender" />
    </root>

    <logger>
      <level value="ALL" />
    </logger>

  </log4net>
</configuration>

 

转载于:https://www.cnblogs.com/zhshlimi/p/5978151.html

要配置 log4net 将日志输出控制台,可以通过在配置文件中定义一个 `ConsoleAppender` 来实现。以下是一个完整的配置示例,展示了如何将日志信息输出控制台: ### 配置文件设置 在 `app.config` 或 `web.config` 文件中添加以下配置部分: ```xml <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections> <log4net> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/> </layout> </appender> <root> <level value="INFO"/> <appender-ref ref="ConsoleAppender"/> </root> </log4net> </configuration> ``` ### 程序集配置 在程序集(Assembly)级别上,需要使用 `DOMConfigurator` 来加载配置文件。可以在 `AssemblyInfo.cs` 文件中添加以下代码: ```csharp [assembly: log4net.Config.DOMConfigurator(ConfigFile = "app.config", Watch = true)] ``` 如果使用的是 Web 应用程序,则应使用 `web.config` 文件,并在 `Global.asax.cs` 文件中初始化 log4net: ```csharp protected void Application_Start(object sender, EventArgs e) { log4net.Config.XmlConfigurator.Configure(); } ``` ### 代码中使用 log4net 在代码中,可以通过 `LogManager` 获取 `ILogger` 实例,并记录日志信息: ```csharp using log4net; using System; public class Program { private static readonly ILog log = LogManager.GetLogger(typeof(Program)); public static void Main(string[] args) { log.Info("Application started."); log.Debug("This is a debug message."); log.Error("An error occurred.", new Exception("Sample exception")); } } ``` ### 配置说明 - **ConsoleAppender**:用于将日志输出控制台。其 `layout` 属性定义了日志的格式。 - **PatternLayout**:允许通过 `conversionPattern` 自定义日志格式,例如日期、线程、日志级别、记录器名称等。 - **Root Logger**:根日志记录器的级别设置为 `INFO`,意味着所有 `INFO` 及以上级别的日志都会被记录。 通过以上配置,log4net 将会把日志输出控制台,并按照指定的格式显示日志信息 [^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值