정보를 기록하는 테이블이 두 개 있습니다. log4net에 대해 Common.Logging 라이브러리 래퍼를 사용하고 있으며 제대로 구성된 항목이 있지만 로그 테이블에 많은 정보가 기록되는 문제가 발생합니다 ... 알다시피 직관력이 있습니다. 두 테이블Log4Net 여러 Appender, 구성에 문제가있는 다중 테이블
로그 표 감사를 표
다음은 내 구성입니다
<log4net>
<!-- This will force both loggers to write to both tables-->
<root>
<level value="INFO" />
<appender-ref ref="LogAppender" />
<!--<appender-ref name="Audit" ref="AuditAppender" />-->
</root>
<logger name="Log">
<level value="INFO" />
<appender-ref ref="LogAppender" />
</logger>
<logger name="Audit">
<level value="INFO" />
<appender-ref ref="AuditAppender" />
</logger>
<!--SQL LOG TABLE Appender-->
<appender name="LogAppender" type="log4net.Appender.AdoNetAppender"> .... This writes to Log Table correctly
</appender>
<appender name="AuditAppender" type="log4net.Appender.AdoNetAppender"> .... This logs to the Audit Table correctly
</appender>
</log4net>
호출 코드 : 우리는 로거를 만들 수있는 세 가지 방법이
readonly ILog _default = LogManager.GetCurrentClassLogger();
readonly ILog _logger = LogManager.GetLogger("Log");
readonly ILog _auditer = LogManager.GetLogger("Audit");
지금은 다시 세 가지가
_default.Info("Default Logger");
_logger.Info("Test get products logging");
_auditer.Info("Test get products audit");
내가 모두 실제로는 을하고 _auditer 로거가 감사에 기록하는 로그 테이블에 쓰기 때문에 _default 또는 _logger 그것을 얻으려고 다시 호출하면
테이블 ...
하지만 여기에 문제가 있습니다 ... 내가 가진 방식대로, 감사 테이블 또한 내가 원하지 않는 로그 테이블에 씁니다. 이제 log4net 구성의 루트 노드를 없애면 _logger 로그가 로그 테이블에 기록되고 _auditer가 감사 테이블에 기록되지만 _default 로그는 기록하지 않는다는 점에서 모든 지정된 로그 작성자 만 작동합니다 무엇이든에 ... 그래서 나는 무엇을 여기에서 놓치고 있냐?
빙고 그 것이었다! 뭔가 간단 할 거라는 걸 알았어 ... 고마워! – DRobertE