log4Net에 추적 수준이 없는 이유는 무엇입니까?
왜 log4Net에 추적 레벨이 없는지 궁금해서요.이 수준이 누락된 것 같고 응용 프로그램에서 실행 중인 이벤트를 출력하는 등 사용해야 할 때가 있습니다.이 기능은 log4J의 일부입니다.
여기서 언급한 것처럼 사용자 지정 수준을 만들 수 있다는 것은 알고 있지만, 도서관 자체의 일부가 되어야 한다고 생각하는 것에 시간과 노력을 들이고 싶지는 않습니다.
이것을 구현하는 log4net 확장 라이브러리에 대해 알고 계십니까? 또는 왜 이것이 .net에 대한 포트의 일부가 아니었습니까?
확장 메서드를 사용하여 자세한 내용(또는 추적 수준)을 log4net에 추가할 수 있습니다.제가 사용하고 있는 것은 다음과 같습니다.
public static class ILogExtentions
{
public static void Trace(this ILog log, string message, Exception exception)
{
log.Logger.Log(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType,
log4net.Core.Level.Trace, message, exception);
}
public static void Trace(this ILog log, string message)
{
log.Trace(message, null);
}
public static void Verbose(this ILog log, string message, Exception exception)
{
log.Logger.Log(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType,
log4net.Core.Level.Verbose, message, exception);
}
public static void Verbose(this ILog log, string message)
{
log.Verbose(message, null);
}
}
사용 예:
public class ClientDAO
{
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof(ClientDAO));
public void GetClientByCode()
{
log.Trace("your verbose message here");
//....
}
}
출처:
http://www.matthewlowrance.com/post/2010/07/14/Logging-to-Trace-Verbose-etc-with-log4net.aspx
log4net에 추적 수준이 있습니다.Core.Level 클래스 http://logging.apache.org/log4net/release/sdk/html/F_log4net_Core_Level_Trace.htm
log4net.ILog 인터페이스는 Fatal, Error, Warn, Info 및 Debug 수준에 대한 메서드 및 속성만 표시합니다.
저는 이것이 약간 제한적이라는 것에 동의하며 그 안에서 한 단계 더 보고 싶습니다.그러나 최적의 레벨 수는 아마도 "현재 레벨 수보다 하나 더"일 것입니다. 항상 한 레벨을 더 원하는 자신을 발견하게 될 것입니다.
언급URL : https://stackoverflow.com/questions/1394661/why-isnt-there-a-trace-level-in-log4net
'programing' 카테고리의 다른 글
NLog를 사용하여 ${basedir}는 어디에 있습니까? (0) | 2023.05.11 |
---|---|
열거형에 정의된 총 항목 수 (0) | 2023.05.11 |
npm install - gless가 작동하지 않음: EACCES: 권한이 거부됨 (0) | 2023.05.11 |
입력 파일이 텍스트 형식 덤프인 것 같습니다.psql을 사용하십시오. (0) | 2023.05.11 |
에 대한 링커 상태.NET 앱("Please Sir, May I have a Linker" 2009년판) (0) | 2023.05.11 |