記錄下log4j的兩種配置方式

XML文件配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'><!-- 輸出到控制臺 --><appender name="CONSOLE_APPENDER" class="org.apache.log4j.ConsoleAppender"><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" /></layout><!--過濾器設置輸出的級別 --><filter class="org.apache.log4j.varia.LevelRangeFilter"><param name="levelMin" value="debug" /><param name="levelMax" value="warn" /><param name="AcceptOnMatch" value="true" /></filter></appender><!-- 系統執行日志 --><appender name="SYSTEM_APPENDER" class="org.apache.log4j.RollingFileAppender"><param name="File" value="${user.home}/logs/bingu/sys_run.log" /><!-- 設置日志輸出文件名稱 --><param name="DatePattern" value="'.'yyyy-MM-dd'.log'" /><!-- 設置是否在又一次啟動服務時。在原有日志的基礎加入新日志 --><param name="Append" value="true" /><param name="MaxBackupIndex" value="10" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%p (%c:%L)- %m%n" /></layout></appender><logger name="SYSTEM" additivity="false"><priority value="debug" /><appender-ref ref="SYSTEM_APPENDER" /></logger><!-- error --><appender name="ERROR_APPENDER" class="org.apache.log4j.RollingFileAppender"><param name="File" value="${user.home}/logs/bingu/error.log" /><param name="Append" value="true" /><param name="Threshold" value="ERROR" /><param name="MaxFileSize" value="1024KB" /><param name="MaxBackupIndex" value="1" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%d %-5p %l - %m%n" /></layout></appender><logger name="ERROR" additivity="false"><priority value="info" /><appender-ref ref="ERROR_APPENDER" /></logger><!-- 方法執行時間統計 --><appender name="ALL_METHODS_RUNTIME_APPENDER" class="org.apache.log4j.DailyRollingFileAppender"><param name="File" value="${user.home}/logs/bingu/method_runtime.log" /><param name="DatePattern" value="'.'yyyy-MM-dd'.log'" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="[%d{MMdd HH:mm:ss SSS\} %-5p] [%t] %c{3\} - %m%n" /></layout></appender><logger name="ALL_METHODS_RUNTIME" additivity="false"><priority value="info" /><appender-ref ref="ALL_METHODS_RUNTIME_APPENDER" /></logger><!-- web --><appender name="WEB_APPENDER" class="org.apache.log4j.DailyRollingFileAppender"><param name="encoding" value="UTF-8" /><param name="File" value="${user.home}/logs/bingu/web.log" /><param name="DatePattern" value="'.'yyyy-MM-dd'.log'" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %t %5p [%c:%L] - %m%n" /></layout></appender><category name="com.bingu.web" additivity="false"><level value="info" /><appender-ref ref="WEB_APPENDER" /></category><!-- service --><appender name="SERVICE_APPENDER" class="org.apache.log4j.DailyRollingFileAppender"><param name="encoding" value="UTF-8" /><param name="File" value="${user.home}/logs/bingu/service.log" /><param name="DatePattern" value="'.'yyyy-MM-dd'.log'" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %t %5p [%c:%L] - %m%n" /></layout></appender><category name="com.bingu.bll" additivity="false"><level value="info" /><appender-ref ref="SERVICE_APPENDER" /></category><!-- dao --><appender name="DAO_APPENDER" class="org.apache.log4j.DailyRollingFileAppender"><param name="encoding" value="UTF-8" /><param name="File" value="${user.home}/logs/bingu/dao.log" /><param name="DatePattern" value="'.'yyyy-MM-dd'.log'" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %t %5p [%c:%L] - %m%n" /></layout></appender><category name="com.bingu.dal" additivity="false"><level value="info" /><appender-ref ref="DAO_APPENDER" /></category><!-- util --><appender name="UTIL_APPENDER" class="org.apache.log4j.DailyRollingFileAppender"><param name="encoding" value="UTF-8" /><param name="File" value="${user.home}/logs/bingu/util.log" /><param name="DatePattern" value="'.'yyyy-MM-dd'.log'" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %t %5p [%c:%L] - %m%n" /></layout></appender><category name="com.bingu.util" additivity="false"><level value="info" /><appender-ref ref="UTIL_APPENDER" /></category><root><priority value="debug" /><appender-ref ref="CONSOLE_APPENDER" /><appender-ref ref="SYSTEM" /><appender-ref ref="ERROR" /></root></log4j:configuration>

.properties文件配置

log4j.rootLogger=info,file  log4j.appender.file=org.apache.log4j.DailyRollingFileAppender  
log4j.appender.file.DatePattern='-'yyyy-MM-dd  
log4j.appender.file.File=logs/log.txt  
log4j.appender.file.Append=true
log4j.appender.file.layout=org.apache.log4j.PatternLayout  
log4j.appender.file.layout.ConversionPattern=[%-5p] %d %37c %3x - %m%n log4j.logger.org.springframework.web.servlet.handler.SimpleMappingExceptionResolver=WARN

轉載于:https://www.cnblogs.com/lytwajue/p/7201774.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371672.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371672.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371672.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java字符串與數組比較大小_java-如何將存儲在數組中的字符串與簡單字符串進行比較?...

我想比較數組中字符串形式的學生人數與人數n這是字符串。remarque&#xff1a;班級形成&#xff1a;私有字符串代碼&#xff1b;私有字符串名稱&#xff1b;private int nbsi 0;私人學生[]標簽新學生[200]&#xff1b;班級學生&#xff1a;私有字符串號&#xff1b;私有字符串…

delphi用TAdoStoredProc調用存儲過程,兼容sql2005、2008、2014的遠程事務問題

delphi7寫的程序&#xff0c;在sql2000里沒問題&#xff0c;調用sql2008、2014里的存儲過程時&#xff0c;如果存儲過程里操作了大量數據&#xff0c;很容易會莫名其妙的自己撤銷掉&#xff0c;但是程序還識別不到&#xff0c;認為還在正常執行。今天嘗試換了個控件&#xff1a…

使用NoSQL實現實體服務–第3部分:CouchDB

在本系列的第2部分中 &#xff0c;我使用SOA的“合同優先”技術創建和部署了產品實體服務&#xff0c;現在&#xff0c;我將致力于服務實現的NoSQL數據庫方面。 正如我在第1部分中已經提到的那樣&#xff0c;我已經選擇CouchDB作為我的NoSQL數據庫&#xff0c;選擇Ektorp庫作為…

8、SpringCloud高頻面試題-版本1

1、SpringCloud組件有哪些 SpringCloud 是一系列框架的有序集合。它利用 SpringBoot 的開發便利性巧妙地簡化了分布式系統基礎設施的開發&#xff0c;如服務發現注冊、配置中心、消息總線、負載均衡、斷路器、數據監控等&#xff0c;都可以用 SpringBoot 的開發風格做到一鍵啟…

java對象不會被改變_Java 并發編程(二)對象的不變性和安全的公布對象

二、安全公布到眼下為止&#xff0c;我們重點討論的是怎樣確保對象不被公布&#xff0c;比如讓對象封閉在線程或還有一個對象的內部。當然&#xff0c;在某些情況下我們希望在多個線程間共享對象&#xff0c;此時必須確保安全地進行共享。然而&#xff0c;假設僅僅是像以下程序…

nginx 上php不可寫解決方法

在php.ini中設置的session.save_path會被php-fpm.conf中覆蓋 打開php-fpm.conf文件找到php_value[session.save_apth] 這里的/var/lib/php/session 為實際的session保存目錄&#xff0c;設置為777,必須讓其他用戶有rw權限,因為php在Linux里面以其他用戶身份運行&#xff08;匿名…

JavaOne 2012:Java策略主題演講和IBM主題演講

與 JavaOne 2010 相似&#xff0c;我對JavaOne 2012的開始也很艱難。由于“計算機和打印機技術上的困難”&#xff0c;辦理登機手續的人花了70分鐘為我提供JavaOne徽章。 盡管我不是世界上最有耐心的人&#xff0c;但比等待更令人失望的是&#xff0c;我錯過了參加“社區會議&a…

java citymap_Java實現Map集合二級聯動

Map集合可以保存鍵值映射關系&#xff0c;這非常適合本實例所需要的數據結構&#xff0c;所有省份信息可以保存為Map集合的鍵&#xff0c;而每個鍵可以保存對應的城市信息&#xff0c;本實例就是利用Map集合實現了省市級聯選擇框&#xff0c;當選擇省份信息時&#xff0c;將改變…

【NIO】之IO和NIO的區別

在Java1.4之前的版本&#xff0c;Java對I/O的支持并不完善&#xff0c;開發人員在開發高性能I/O程序的時候&#xff0c;會面臨以下幾個問題&#xff1a; 1、沒有數據緩存區&#xff0c;I/O性能存在問題 2、沒有C/C通道的概念&#xff0c;輸入和輸出流是相互獨立的不能復用 3、同…

Mono環境下訪問SSL

由于MONO沒有CA證書&#xff0c;所以訪問SSL鏈接&#xff08;HTTPS&#xff09;就會出錯&#xff0c;這時候只要強制訪問就可以。 using System.Net.Security;using System.Security.Authentication;using System.Security.Cryptography.X509Certificates; private static bool…

JavaOne 2012:使用HTML5和Java構建移動應用程序

我返回了Parc 55 &#xff08;任務會議室&#xff09;&#xff0c;觀看Max Katz的&#xff08; Exadel開發人員關系&#xff09;“用HTML5和Java構建移動應用程序” Bird-of-Feather&#xff08;BoF&#xff09;演示。 具體來說&#xff0c;Katz在Tiggzi &#xff08;基于云的應…

HDU 2602.Bone Collector-動態規劃0-1背包

Bone Collector Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 85530 Accepted Submission(s): 35381 Problem DescriptionMany years ago , in Teddy’s hometown there was a man who was called “Bone Col…

java線程實現排序_【多線程實現快速排序】

快速排序算法實現文件QuickSort.javapackage quick.sort;import java.util.concurrent.Callable;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class QuickSort implements Callable{private int[] array;private final in…

使用Gitolite搭建Gitserver

Gitolite是一款Perl語言開發的Git服務管理工具。通過公鑰對用戶進行認證。并可以通過配置文件對些操作進行基于分支和路徑的精細控制。Gitolite採用的是SSH協議而且使用SSH公鑰認證。因此不管是管理員還是普通用戶。都須要對SSH有所了解。Gitolite的官網是&#xff1a;https://…

java任務分支和合并_合并/分支戰略

我會給出與Adarsh Shah相同的建議&#xff0c;因為在大多數情況下&#xff0c;2個分支(MAIN&#xff0c;RELEASE)就足夠了&#xff0c;并且使用feature branches用于你不想立即提交到MAIN的東西&#xff0c;因為它需要一段時間才能完全準備好測試 . 通過RELEASE&#xff0c;我指…

Spring安全:防止暴力攻擊

Spring Security可以為您做很多事情。 帳戶被封鎖&#xff0c;密碼鹽。 但是蠻力阻斷劑呢&#xff1f; 那是你必須自己做的。 幸運的是&#xff0c;Spring是一個非常靈活的框架&#xff0c;因此對其進行配置并不是什么大問題。 讓我向您展示一些如何針對Grails應用程序執行…

NopCommerce計劃任務

NopCommerce計劃任務轉載于:https://www.cnblogs.com/chenjz/p/6293210.html

簡單談談js中的MVC

MVC是什么&#xff1f; MVC是一種架構模式&#xff0c;它將應用抽象為3個部分&#xff1a;模型&#xff08;數據&#xff09;、視圖、控制器&#xff08;分發器&#xff09;。 本文將用一個經典的例子todoList來展開&#xff08;代碼在最后&#xff09;。 一個事件發生的過程&a…

BTrace:Java開發人員工具箱中的隱藏寶石

這篇文章是關于BTrace的 &#xff0c;我正在考慮將其作為Java開發人員的隱藏寶藏。 BTrace是用于Java平臺的安全&#xff0c;動態跟蹤工具。 BTrace可用于動態跟蹤正在運行的Java程序&#xff08;類似于DTrace&#xff0c;適用于OpenSolaris應用程序和OS&#xff09;。 不久&am…

python 圖片轉視頻ffmpeg_python圖片轉視頻(opencv),ffmpeg壓縮視頻

要注意&#xff1a;1. 圖片傳視頻要自己設置幀率和分辨率2.讀取圖片后分辨率要resize為和視頻分辨率一樣才可以3.寫完.avi視頻后視頻比較大&#xff0c;用ffmpeg將avi視頻壓縮為mp4import cv2from cv2 import VideoWriter, VideoWriter_fourcc, imread, resizeimport osfrom su…