2017-01-23 5 views
1

CommonLogging.Log4Net.Universal을 사용하여 XML 형식의 로그를 기록하므로 YALV를 사용하여 읽을 수 있습니다! 그러나 로그가 생성되는 것을 볼 수 없습니다. 나는이 기술을 일반적인 log4net 라이브러리에 사용하고 아무 문제없이 작동한다.Common.Logging.Log4Net.Universal을 YALV가 구문 분석 할 YALV 용 XML 형식의 로그로 사용하는 문제

<configSections> 
    <sectionGroup name="common"> 
     <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" /> 
    </sectionGroup> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> 
    </configSections> 
    <common> 
    <logging> 
     <factoryAdapter type="Common.Logging.Log4Net.Universal.Log4NetFactoryAdapter, Common.Logging.Log4Net.Universal" > 
     <arg key="configType" value="FILE"/> 
     <arg key="configFile" value="~/log4net.config" /> 
     </factoryAdapter> 
    </logging> 
    </common> 

그리고 여기 내 'log4net.config'파일 이동 : : 이제 아래

<configuration> 
    <log4net> 
     <appender name="FileAppender" type="log4net.Appender.FileAppender"> 
     <file value="C://Logs//mylogfile.xml" type="log4net.Util.PatternString"/> 
     <appendToFile value="true" /> 
     <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 
     <layout type="log4net.Layout.XmlLayoutSchemaLog4j"> 
      <locationInfo value="true"/> 
     </layout> 
     <filter type="log4net.Filter.LevelRangeFilter"> 
      <levelMin value="INFO" /> 
      <levelMax value="FATAL" /> 
      </filter> 
     </appender> 
     <root> 
     <level value="ALL"/> 
     <appender-ref ref="FileAppender"/> 
     </root> 
    </log4net> 
</configuration> 

실제로 로그를 생성하는 코드입니다 여기 내 'Web.config의'파일의 관련 구성입니다 :

실행시 오류없이 실행되지만 위의 "

누군가가 동일한 것을 시도한 경우를 대비하여 조언하십시오.

답변

2

내가의 Web.config에 대한 다음과 같은 구성을 참조 범용 로깅 프로젝트의 GitHub의 소스를 보면 :

<?xml version="1.0"?> 
<configuration> 
<configSections> 
<sectionGroup name="common"> 
    <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging"/> 
</sectionGroup> 
</configSections> 
<common> 
<logging> 
    <factoryAdapter type="Common.Logging.Log4Net.Universal.Log4NetFactoryAdapter, Common.Logging.Log4Net.Universal" /> 
</logging> 
</common> 
</configuration> 

을 그리고 당신은 'log4net.config'에서 구성 루트 요소를 제거해야합니다 파일 :

<log4net> 
    <appender name="FileAppender" type="log4net.Appender.FileAppender"> 
    <file value="C://Logs//mylogfile.xml" type="log4net.Util.PatternString"/> 
    <appendToFile value="true" /> 
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 
    <layout type="log4net.Layout.XmlLayoutSchemaLog4j"> 
     <locationInfo value="true"/> 
    </layout> 
    <filter type="log4net.Filter.LevelRangeFilter"> 
     <levelMin value="INFO" /> 
     <levelMax value="FATAL" /> 
     </filter> 
    </appender> 
    <root> 
    <level value="ALL"/> 
    <appender-ref ref="FileAppender"/> 
    </root> 
</log4net> 

작동하지 않는 경우 log4net에 대한 디버깅을 사용하여 구성에 문제가 있는지 확인하십시오.