프로그램의 로그

2319 단어 log4j
1. log4j 중 log.isDebugEnabled(), log.isInfoEnabled() 및 log.isTraceEnabled() 역할
1.
프로젝트는 log4j 인쇄 Debug, Info 및 Trace 수준의 log를 적용할 때 다음과 같은 3가지 방법으로 필터링해야 합니다.

if (log.isDebugEnabled()) {
log.debug(" From: " + req.getFrom().toString() + " To: " + req.getTo().toString() + " CallId: " + req.getCallId() + " msg:" + msg);
}

역할: Debug, Info와 Trace는 일반적으로 비교적 상세한 정보를 인쇄할 수 있고 인쇄 횟수가 비교적 많기 때문에 만약에 우리가 로그를 추가하지 않는다면.isDebugEnabled() 등은 시스템 log level 설정이 Debug이나 Info 또는 Trace보다 높을 때 이 단계의 로그를 받아들이지 않지만 매번 매개 변수 문자열을 연결하여 시스템 성능에 영향을 준다.
2. 잘못된 최적화 방법
일부 인코딩 인원은 메커니즘을 잘 모르기 때문에 코드의 복용성과 간결성에서 다음과 같은 함수를 정의하여 봉인한다

    private void debug(String msg) {
        if (log.isDebugEnabled()) {
            log.debug(msg);
        }
}

시스템에서 debug (msg) 함수를 호출하든지 문자열의 연결을 하든지 하는 것은 잘못된 것입니다.
3. 올바른 최적화 방법
AOP을 통한 패키지 권장
2. 로그 수준
1. debug: 프로그램 내부의 정보는 외부에서 사용하는 사람에게 무의미하다.
2.info:informational messages that highlight the progress of the application at coarse-grained level.(응용의 실행 진도, 관건적인 지점의 기록을 강조한다).예를 들어 관건적인 분기 기록(입력 파라미터 등)은 운영 엔지니어에게 이런 정보도 가치가 있고 info는 프로그램의 운행이 정확한 업무 논리에 부합되는지 가리킨다.
3.warn:potentially harmful situations.(잠재적 유해 상태).예를 들어 광고를 내보낼 때 타오바오가 오른쪽에 있는 p4p를 검색하면 지역에 따라 광고가 나타나지만 특정한 사용자가 검색을 할 때 IP 주소를 얻는 데 실패하면 기본값으로 대체하거나 비어 있을 수 있지만 오른쪽 광고의 표현에 영향을 주지 않는다.그래서 광고를 보여주는 임무는 완수하는 것이고 업무에 있어서는 집행에 성공하는 것이다. 비록 과정에서 문제가 생겼지만.
4.error:error events that might still allow the application to continue running.(오류 이벤트가 발생하면 프로그램이 실행될 수도 있습니다.)예를 들어 광고 전단에 http를 통해 엔진에서 데이터를 얻을 때 엔진의 기계 연결 수가 상한선에 이르거나 임시 네트워크에 도달했기 때문에timeout이지만 프로그램은 정상적으로 실행될 수 있고next 요청 엔진은 성공한다.함수 각도에서 볼 때, 이 함수 작업은 완성되지 않았습니다. error를 기억하십시오.
5.fatal:very severe error events that will presumably lead the application to abort.(오류로 인해 어플리케이션 충돌이 발생할 수 있습니다.)
참조 자료:
http://blog.csdn.net/greencacti/article/details/5134921
http://www.blogjava.net/shijian/archive/2010/10/09/334142.html

좋은 웹페이지 즐겨찾기