1. 程式人生 > >log4j(四)——如何控制不同風格的日誌信息的輸出?

log4j(四)——如何控制不同風格的日誌信息的輸出?

str div 優先級 config eat nbsp 指定 end manager

一、測試環境

  與log4j(一)——為什麽要使用log4j?一樣,這裏不再重述

二、老規矩,先來個例子,然後再聊聊感受

package com.sc.log4j;

import org.apache.log4j.Appender;
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.ConsoleAppender;
import org.apache.log4j.Layout;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout; /** * Created by Miss黃 */ public class UseLog4j { //日誌記錄器 private static Logger LOGGER = LogManager.getLogger(UseLog4j.class); //程序入口——主函數 public static void main(String[]args){ /** * 設置日誌信息輸出的風格樣式,日誌輸出的風格主要有以下幾種,可以各自設置一下,看看對應的效果
*/ /** * 1)org.apache.log4j.HTMLLayout ,以HTML表格形式布局,輸出的信息為: * 1:從layout(布局)的構建到日誌事件創建所經過的毫秒數 * 2:生成該日誌事件的線程的名稱 * 3:日誌事件的優先級,即DEBUG,INFO,WARN,ERROR * 4:日誌事件的category(類別),通常就是所在類的全名 * 5:代碼中指定的消息 */ // Layout layout = new HTMLLayout();
/** * 2)org.apache.log4j.SimpleLayout,輸出的信息為: * 1:日誌事件的優先級,即DEBUG,INFO,WARN,ERROR * 2:代碼中指定的消息 */ // Layout layout = new SimpleLayout(); /** * 3)org.apache.log4j.TTCCLayout,輸出的信息為: * 1:從layout(布局)的構建到日誌事件創建所經過的毫秒數 * 2:生成該日誌事件的線程的名稱 * 3:日誌事件的優先級,即DEBUG,INFO,WARN,ERROR * 4:日誌事件的category(類別),通常就是所在類的全名 * 5:代碼中指定的消息 */ // Layout layout = new TTCCLayout(); /** * 4)org.apache.log4j.PatternLayout(可以靈活地指定布局模式),這是實際工作中我們最常用的一種,輸出的信息是自定義的,比如:下面的設置 */ //設置日誌信息的格式化方式 String pattern = "%l - %p - %m%n"; Layout layout = new PatternLayout(pattern); //設置日誌信息的輸出目的地 Appender appender= new ConsoleAppender(layout); //設置日誌信息的輸出配置 BasicConfigurator.configure(appender); //輸出日誌信息 LOGGER.info(" my level is INFO"); } }

三:感受

1)上面的代碼將幾種常用的日誌輸出風格都列出來了,感興趣的話,可以將註釋解註,試驗一下效果

2)通過試驗,我也將每種風格的日誌信息都是輸出什麽也簡單的列舉了一下,總的感覺自定義的風格是最好玩的一個,我們可以隨便的定義自己想要的輸出內容

3)log4j定義的日誌輸出風格不止這幾個,還有別的只是這幾個比較簡單,介紹起來也方便,也能比較一下各種風格的異同,其中自定義的方式是最為常用的,非常的靈活方便

文章轉自:http://www.cnblogs.com/godtrue/p/6442562.html

log4j(四)——如何控制不同風格的日誌信息的輸出?