简体   繁体   English

尽管我添加了控制台附加程序,但log4net不会打印到控制台

[英]log4net does not print to console although i added console appender

See log4net configuration ( App.config file): 请参阅log4net配置( App.config文件):

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <log4net>
    <appender name="Console" type="log4net.Appender.ColoredConsoleAppender">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="[%date] [%level] [%logger/%method] --> %message%newline%exception"/>
      </layout>
      <mapping>
        <level value="DEBUG" />
        <foreColor value="Cyan, HighIntensity" />
      </mapping>
      <mapping>
        <level value="INFO" />
        <foreColor value="Green, HighIntensity" />
      </mapping>
      <mapping>
        <level value="WARN" />
        <foreColor value="Yellow, HighIntensity" />
      </mapping>
      <mapping>
        <level value="ERROR" />
        <foreColor value="Red, HighIntensity" />
      </mapping>
    </appender>
    <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
      <file value="c:\logs\log.txt"/>
      <rollingStyle value="Date" />
      <appendToFile value="true" />
      <rollingStyle value="Size"/>
      <maximumFileSize value="10MB"/>
      <maxSizeRollBackups value="5"/>
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
      <datePattern value="yyyyMMdd" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="[%date] [%level] - %message%newline%exception"/>
      </layout>
    </appender>
    <root>
      <level value="Info" />
      <appender-ref ref="Console" />
      <appender-ref ref="RollingFile" />
    </root>
  </log4net>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
  </startup>
</configuration>

LogHelper LogHelper

public class LogHelper
{
    public static log4net.ILog GetLogger([CallerFilePath]string fileName = "")
    {
        return log4net.LogManager.GetLogger(fileName);
    }
}

Main 主要

class Program
{
    private static readonly log4net.ILog log = LogHelper.GetLogger("Main");
    static void Main(string[] args)
    {
        log.Info("Bla bla");
        Console.ReadLine();
    }
}

Thats strange, i just cannot see my log 太奇怪了,我只是看不到我的log

You need to call log4net.Config.XmlConfigurator.Configure(); 您需要调用log4net.Config.XmlConfigurator.Configure(); somewhere in your log helper. 日志助手中的某个位置。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM