이전의 경험과 연구를 토대로 log4Net을 사용하여 작업장에서 로깅을 구현했습니다.ORM (log4net 및 OpenAccess)을 사용한 로깅
그러나 log4net이 개발 회의에서 발표되었을 때 맞춤형 로거를 사용하는 것이 일반적으로 선호되었습니다. 이유는 구성 파일에서 삽입 쿼리를 지정하는 대신 Telerik의 ORM에서 생성 된 코드를 사용하기 위해서였습니다.
<appender name="ADONetAppender" type="log4net.Appender.AdoNetAppender">
<bufferSize value="1"/>
<connectionType value="MySql.Data.MySqlClient.MySqlConnection, MySql.Data" />
<connectionStringName value="Test"/>
<commandText value="INSERT INTO Log (UniqueId,Date,UserId,Thread,level,Logger,Message,Exception) VALUES (UUID(),?log_date,?userid,?thread,?log_level,?logger,?message,?exception)" />
...
귀하의 조언은 무엇입니까? 이런 목적으로 appender를 만들 수 있습니까? 커스텀 로거를 가져 가야할까요?
자세한 내용은 사용자 정의 로거 here에 대한 긍적 및 부정적인 견해가 있습니다.
감사
'모든 메커니즘'이라고 말하면 구성 파일에 삽입 쿼리를 지정하지 않고도 AdoNetAppender를 사용할 수 있습니까? Log4Net의 기능/성능을 원하고 팀 요구 사항을 만족시킵니다. 제안 해 주셔서 감사합니다. 나는 약간의 연구를하고 다른 데이터베이스를 고려할 것이다. – Nishzone
예, 연결 문자열을 무시할 수있는 예제를 보았습니다. log4net에 "connectionStringName"속성이 있기 전에 사용되었습니다. 나는 commandtext에 대해 같은 방법을 사용하는 것을 고려해 봤지만 팀이 요구하는 데이터 전송 객체를 사용하지는 않습니다. 커스텀 로거가 유일한 해결책 인 것 같습니다. – Nishzone