1. 程式人生 > >windows下使用log4j將日誌輸出到檔案,包括system.out

windows下使用log4j將日誌輸出到檔案,包括system.out

1、將debug級別和error級別分別輸出到檔案

log4j.rootLogger=info,console,file1,file2

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} %-5p [%l][%t] - %m%n


log4j.appender.file1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file1.File= ../logs/log4j_debug
log4j.appender.file1.MaxFileSize=10MB
log4j.appender.file1.DatePattern='_'yyyy-MM-dd'.out'
log4j.appender.file1.Threshold=DEBUG
log4j.appender.file1.layout=org.apache.log4j.PatternLayout
log4j.appender.file1.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} %-5p [%l][%t] - %m%n  


log4j.appender.file2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file2.File= ../logs/log4j_error
log4j.appender.file2.DatePattern='_'yyyy-MM-dd'.out'
log4j.appender.file2.Threshold=ERROR
log4j.appender.file2.layout=org.apache.log4j.PatternLayout

log4j.appender.file2.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} %-5p [%l][%t] - %m%n 

2、將system.out輸出到檔案(預設和debug放在一個檔案下)

1)建立監聽類,將system.out監聽轉到log4j下

public class StdoutListener implements ServletContextListener {
public void contextDestroyed(ServletContextEvent event) {
   }
   private void log(Object info) {
       LogFactoryImpl.getLog(getClass()).info(info);
   }
   public void contextInitialized(ServletContextEvent event) {
       PrintStream printStream = new PrintStream(System.out) {
           public void println(boolean x) {
               log(Boolean.valueOf(x));
               System.err.println(Boolean.valueOf(x));
           }
           public void println(char x) {
               log(Character.valueOf(x));
               System.err.println(Character.valueOf(x));
           }
           public void println(char[] x) {
               log(x == null ? null : new String(x));
               System.err.println(x == null ? null : new String(x));
           }
           public void println(double x) {
               log(Double.valueOf(x));
               System.err.println(Double.valueOf(x));
           }
           public void println(float x) {
               log(Float.valueOf(x));
               System.err.println(Float.valueOf(x));
           }
           public void println(int x) {
               log(Integer.valueOf(x));
               System.err.println(Integer.valueOf(x));
           }
           public void println(long x) {
               log(x);
               System.err.println(x);
           }
           public void println(Object x) {
               log(x);
               System.err.println(x);
           }
           public void println(String x) {
               log(x);
               System.err.println(x);
           }
       };
       System.setOut(printStream);
//       System.setErr(printStream);
   }
}

2) <!-- 注入log4j監聽器,用於將system.out列印到日誌檔案下 -->
  <listener>
<listener-class>com.fxy.yunyou.console.listener.StdoutListener</listener-class>
 </listener> 

相關推薦

windows使用log4j日誌輸出檔案包括system.out

1、將debug級別和error級別分別輸出到檔案 log4j.rootLogger=info,console,file1,file2 log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appende

windowstomcat配置日誌輸出檔案

This section explains how to configure Tomcat to use log4j rather than java.util.logging for all Tomcat’s internal logging. Note:

web專案Log4j日誌輸出路徑配置問題 問題描述:一個web專案想在一個tomcat執行多個例項(通過修改war包名稱的實現)然後每個例項都日誌輸出到tomcat的logs目錄例項名命名的文

問題描述:一個web專案想在一個tomcat下執行多個例項(通過修改war包名稱的實現),然後每個例項都將日誌輸出到tomcat的logs目錄下例項名命名的資料夾下進行區分檢視每個例項日誌,要求通過儘可能少的改動配置檔案,最好修改例項名後可以不修改log4j的配置檔案。 實現分析:一般實現上面需求,需要在修

如何在Windows實現System.out輸出到指定日誌檔案

問題:Unix/Linux系統可根據shell指令碼將System.out輸出到日誌檔案nohup.out,關閉連線也不會停止服務,必須手動命令停服務。 Windows系統如何設定可將System.out輸出到指定日誌檔案?關閉cmd視窗也不會停止服務? 解答: 在Wi

使程式在後臺執行日誌輸出檔案

怎麼樣使程式在後臺執行///////////////////  nohup  ./nn > nn.log  2 > &1  &   ////////////方法有很多,這裡主

WindowsPhpEdphp升級到最新版本5.6.27並支援Redis步驟

1. 從http://windows.php.net/download/下載指定的版本,我這裡下載的是x86的Win32版本 2. 將下載的php壓縮包解壓到PhpEd的安裝目錄下,並改名為php56 3. 調整PhpEd中除錯瀏覽器的配置,為php56目錄 4. 複製

l配置log4j完成日誌輸出與配置檔案log4j2.xml詳解

一、配置檔案節點解析    (1)根節點Configuration有兩個屬性:status和monitorinterval,有兩個子節點:Appenders和Loggers(表明可以定義多個Appender和Logger). status用來指定log4j本身的列印日誌的級別.

postgresql在windows備份的批處理檔案(修改版)提示輸入密碼時能自動輸入密碼

在網上找到一篇文章《PostgreSQL Windows自動備份指令碼》 覺得不錯,試了一下,發現批處理檔案執行停止在提示輸入密碼那。 >pg_dump -U postgres -W  database1 > c:/backup.tar >passwo

slf4j配合log4j在系統中增加新的日誌輸出檔案

對於每個程式設計師來說日誌資訊都是至關重要的,日誌資訊越完整越有助於我們排查問題。但是日誌過多時在檢視指定資訊時會有些不方便。此時我們可以把比較重要的日誌或特定業務的日誌輸入到指定的檔案中,便於我們查詢。在不修改原程式日誌的基礎上增加新的日誌輸出。在原環境可用的情況下直接新增

windows使用命令動態輸出tomcat日誌

轉自http://www.51testing.com/html/99/478599-843404.html 最近測試遇到一個問題,我們的專案使用windows2003伺服器,tomcat+oracle資料庫。專案中有兩個測試人員,經常需要檢視日誌定位問題,但是有兩個問題:

Log4j日誌輸入到檔案

只需要在Project下面新建一個log4j.properties配置檔案 檔案內容 #輸出資訊到控制檯 log4j.appender.stdout=org.apache.log4j.Con

log4j高階技巧--動態配置日誌輸出檔案的位置

og4j高階技巧--動態配置日誌輸出檔案的位置     log4j的通常用法就是通過在其配置檔案(xml或properties)中直接將輸出檔案寫死,在很多情況下,這樣做是非常簡單而又有效的。但這樣做的缺點是,如果想讓這個web應用執行起來,必須要修改log4j的配置檔案。

JAVAH的用法WINDOWS找不到類檔案的錯誤

本文主要介紹WINDOWS下JAVAH的用法,相對來講linux下的JAVAH不會出現太多的問題或者“找不到類檔案”的錯誤! 在CMD命令列下輸入JAVAH會彈出使用方法,很簡單,當WINDOWS下使用JAVAH生產JNI的標頭檔案時,一般需要進入ANDROID工程的BIN

Log4j日誌輸出級別和配置檔案詳解

一,Log4j的日誌輸出級別     Log4j由三個重要的元件構成:日誌資訊的優先順序,日誌資訊的輸出目的地,日誌資訊的輸出格式。日誌資訊的優先順序從高到低有ERROR、WARN、 INFO、DEBUG,分別用來指定這條日誌資訊的重要程度;日誌資訊的輸出目的地指定了日誌將

log4j日誌寫入數據庫

日誌文件 windows 配置參數 forward rdquo 方法 word tac otl 以下為log4j中的配置參數: %m 輸出代碼中指定的消息%p 輸出優先級,即DEBUG,INFO,WARN,ERROR,FATAL%r 輸出自應用啟動到輸出該log信息

windows創建h2集群及java集成詳細步驟

arch 需要 sel upd cut exce orm reat 目錄 1.下載h2包,解壓 2.cmd操作,進入bin目錄 3.創建兩個目錄 4.建立集群 輸入以下命令(需要進入h2的bin目錄) java -cp "h2-1.4.195.jar;%H2DRI

windows 使用VMware Workstation Pro 工具ubuntu創建虛擬機

str back 建議 對話框 image 大小 mdk 地址轉換 mil 本文記錄windows 下使用VMware Workstation Pro 工具,ubuntu創建虛擬機 的步驟 第一步 【文件】 --- 【新建虛擬機】 第二步 彈出的新建虛擬機向導對話框

日誌輸出到屏幕及文件

bug ger round utf-8 col logger asc bin war #!/usr/bin/env python# -*- coding: utf-8 -*-import logging#創建日誌對像logger=logging.getLogger("TES

Asp.Net Core NLog 日誌輸出到數據庫以及添加LayoutRenderer的支持

tab 發現 exce images tex system 規則 .net pan 在這之前打算用Apache的Log4Net,但是發現其AdoNetAppender方法已經不存在了,無法使用配置文件直接輸出到數據庫了,因此我便改用了N

解決windowspython2和python3共存時pip失效

fat ML creat htm -- error 安裝 .exe launch 使用pip安裝時報錯, pip install SendKeysFatal error in launcher: Unable to create process using ‘"c:\lib