문제

Visual Studio 2005와 함께 ASP.NET 응용 프로그램에서 log4net을 사용하려고합니다.

Private Shared ReadOnly log As ILog = LogManager.GetLogger("")

다음과 같은 방식으로 사용하려고합니다.

If log.IsDebugEnabled Then
   log.Debug("Integration Services Constructed")
End If

다음은 내 구성입니다.

<log4net>

    <root>
        <level value="DEBUG" />
        <appender-ref ref="RollingFileAppender" />
    </root>

    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
        <file value="..\\logs\\logfile.log"/>
        <appendToFile value="true"/>
        <rollingStyle value="Size"/>
        <maxSizeRollBackups value="10"/>
        <maximumFileSize value="1MB"/>
        <staticLogFileName value="true"/>
        <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>

</log4net>

안타깝게도, log.IsDebugEnabled 항상 거짓입니다.
디버그 메시지 만 로그인 할 수 있도록 log4net을 구성하려면 어떻게합니까?

도움이 되었습니까?

해결책

logmanager.getLogger ( "")에게 전화하기 전에

log4net.config.xmlconfigurator.configure ()를 호출해야합니다. ASP.NET 앱 에서이 호출을 Application_Start에 넣고 싶을 것입니다.

다른 팁

예, Anson이 말한 것처럼하십시오. 또한 클래스 라이브러리에서 구성을 호출하는 경우 클래스에 속성을 추가하여이를 수행 할 수 있습니다.

[assembly: XmlConfigurator(Watch = true)]

그리고 당신이 사용하는 경우 log4net.config 대신 파일을 사용하십시오.

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]

log4net에 별도의 구성 파일을 사용하는 경우 다음을 수행하십시오. 다른 모든 설정 지침을 따른 후에는 Visual Studio Solution Explorer에서 파일을 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하고 "고급"옵션 그룹, 세트를 확장하십시오. "복사 디렉토리"값은 "복사 항상"입니다. 그것은 마법을 할 것입니다 ... :) 건배 !!

구성 파일이 아닌 코드로 log4net을 설정하는 경우 log4net.Config.BasicConfigurator.Configure ~ 전에 GetLogger.

vb.net-

<Assembly: log4net.Config.XmlConfigurator(Watch:=True)> 

로그를 사용하기 전에 모든 방법 에서이 방법을 사용하십시오.

log4net.config.xmlconfigurator.configure ();

app.config에서 설정은 다음과 같습니다.

<root>
      <level value="ALL" />
      <appender-ref ref="AppenderName" />
    </root>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top