C# 4로 작성된 Windows 서비스의 경우 log4net을 구성하여 제대로 작동합니다. 그러나 생산 단계에 있지는 않습니다.log4net 로그 파일이 비어있는 상태로 생산 중이며, 개발 중이 아닙니다.
여기 내 설정이다 : 내
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
<file value="Logs/Log.xml"/>
<appendToFile value="true"/>
<rollingStyle value="Size"/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="100MB"/>
<layout type="log4net.Layout.XmlLayout">
<param name="Prefix" value=""/>
</layout>
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="FileAppender"/>
</root>
</log4net>
</configuration>
내 AssemblyInfo.cs
내가 가진 : 나는 로컬 응용 프로그램을 실행하면 예상대로
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
는 물건은 로그에 기록됩니다. 서버에서 실행할 때 로그 파일은 올바른 경로에 생성되지만 비어 있습니다. 하나의 문자가 로그에 기록되지 않습니다.
파일이 적절한 확장자로 올바른 위치에 있으므로 분명히 구성을 선택하고 있습니다.
내부 디버깅을 사용하는 것이 좋습니다. 즉, log4net에 장애가 발생하면 이유를 확인해야합니다. 자세한 내용은 http://logging.apache.org/log4net/release/faq.html을 참조하십시오. #internalDebug – sgmoore
해결책을 찾았습니까? A와 동일한 문제가 있습니다 –
일종의 정렬에서 어셈블리로부터'[assembly : log4net.Config.XmlConfigurator (Watch = true)]'행을 제거하고 응용 프로그램 시작시 코드에서 그 행을 제거했습니다. –