`
xxxxxxxx_rui
  • 浏览: 42735 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

Catalina.out文件超大问题

阅读更多

对于在log4j输出log时,有的内容要想写到文件和控制台,
而有的内容只想写到文件中,而不在控制台打印出来。

可以用代码进行动态控制,改变logger中的consoleappender。

/**
  * 使控制台log无效。
  */
public void DisableConsoleLog(Logger logger) {
  // 删除现存
  Enumeration<?> em = logger.getAllAppenders();
  while (em.hasMoreElements()) {
   Object element = em.nextElement();
   if (element instanceof ConsoleAppender) {
    logger.removeAppender((ConsoleAppender) element);
   }
  }
}

/**
  * 使控制台log有效。
  */
public void EnableConsoleLog(Logger logger) {
  DisableConsoleLog(logger);
  final String LOG_LAYOUT_PATTERN = "%m%n";
  // 输出Layout设定
  PatternLayout layout = new PatternLayout(LOG_LAYOUT_PATTERN);
  // 控制台输出设定
  ConsoleAppender consoleAppender = new ConsoleAppender(layout,
    ConsoleAppender.SYSTEM_OUT);
  logger.addAppender(consoleAppender);
}


本文转自原创作品 http://kin111.blog.51cto.com/738881/149867
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics