Node.js log4js 로그 관리 상세 설명

머리말
Nodejs 에 서 는 express 프레임 워 크 가 자체 적 으로 가지 고 있 지 않 은 로그 모듈 을 사용 하여 로그 기록 기능 을 완성 할 수 있 습 니 다.
JAVA 에서 log4j 를 사용 한 친구 라면 로그 가 낯 설 지 않 을 것 이 고 log4js 를 배 우 는 것 이 더 잘 될 것 입 니 다.

프로젝트 는 log4js 로 로 그 를 기록 해 야 합 니 다.인터넷 에서 찾 는 튜 토리 얼 은 모두 오래 전 입 니 다.새로운 버 전 log4js 는 이전 버 전과 약간 다 릅 니 다.문 서 를 보고 기 존 버 전과 결합 하여 사용 할 수 있 는 log4js 를 설정 하 였 습 니 다.기록 해 보 세 요.현재 log4js 버 전 2.3.12 는 천분 영화 방식 으로 콘 솔 과 파일 에 동시에 출력 합 니 다.
log4js 는 파일 에 따로 설정 되 어 있 으 며,다른 사용 할 파일 은 이 파일 을 참조 합 니 다.
log-config.js:

const log4js = require('log4js')
 
log4js.configure({
 replaceConsole: true,
 appenders: {
  stdout: {//     
   type: 'stdout'
  },
  req: {//    
   type: 'dateFile',
   filename: 'logs/reqlog/',
   pattern: 'req-yyyy-MM-dd.log',
   alwaysIncludePattern: true
  },
  err: {//    
   type: 'dateFile',
   filename: 'logs/errlog/',
   pattern: 'err-yyyy-MM-dd.log',
   alwaysIncludePattern: true
  },
  oth: {//    
   type: 'dateFile',
   filename: 'logs/othlog/',
   pattern: 'oth-yyyy-MM-dd.log',
   alwaysIncludePattern: true
  }
 },
 categories: {
  default: { appenders: ['stdout', 'req'], level: 'debug' },//appenders:   appender, appenders ,level:    
  err: { appenders: ['stdout', 'err'], level: 'error' },
  oth: { appenders: ['stdout', 'oth'], level: 'info' }
 }
})
 
 
exports.getLogger = function (name) {//name categories 
 return log4js.getLogger(name || 'default')
}
 
exports.useLogger = function (app, logger) {//   express  
 app.use(log4js.connectLogger(logger || log4js.getLogger('default'), {
  format: '[:remote-addr :method :url :status :response-timems][:referrer HTTP/:http-version :user-agent]'//       
 }))
}
사용:

const log4js= require('./log-config')
const logger = log4js.getLogger()//      logger
const errlogger = log4js.getLogger('err')
const othlogger = log4js.getLogger('oth')
 
//  express  ,      
app = express()
log4js.useLogger(app,logger)//             ,    use  
//    ,    console.log
logger.info('test info 1')
errlogger.err('test error 1')
othlogger.info('test info 2')
새 버 전의 category 는 appenders 에 포함 되 지 않 고 appenders 와 같은 등급 의 categories 에 넣 습 니 다.appenders 는 이름 이 있어 야 합 니 다.categories 각 항목 의 appender 를 지정 하고 로그 등급 은 categories 의 모든 항목 에서 설정 합 니 다.
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기