從網上找到的,被轉來轉去,原作者鏈接都找不到了,在這裏感謝原文作者!。我稍微修改了下,加了些內容。
#日誌信息格式中幾個符號所代表的含義: # -X: X信息輸出時左對齊; # %p:輸出日誌信息優先級,即DEBUG,INFO,WARN,ERROR,FATAL, # %d:輸出日誌時間點的日期或時間,默認格式爲ISO8601,也可以在其後指定格式,比如:%d{yyyMMMddHH:mm:ss,SSS},輸出類似:2002年10月18日22:10:28,921 # %r:輸出自應用啓動到輸出該log信息耗費的毫秒數 # %c:輸出日誌信息所屬的類目,通常就是所在類的全名 # %t:輸出產生該日誌事件的線程名 # %l:輸出日誌事件的發生位置,相當於%C.%M(%F:%L)的組合,包括類目名、發生的線程,以及在代碼中的行數。舉例:Testlog4.main(TestLog4.java:10) # %x:輸出和當前線程相關聯的NDC(嵌套診斷環境),尤其用到像javaservlets這樣的多客戶多線程的應用中。 # %%:輸出一個"%"字符 # %F:輸出日誌消息產生時所在的文件名稱 # %L:輸出代碼中的行號 # %m:輸出代碼中指定的消息,產生的日誌具體信息 # %n:輸出一個回車換行符,Windows平臺爲"/r/n",Unix平臺爲"/n"輸出日誌信息換行 # 可以在%與模式字符之間加上修飾符來控制其最小寬度、最大寬度、和文本的對齊方式。如: # 1)%20c:指定輸出category的名稱,最小的寬度是20,如果category的名稱小於20的話,默認的情況下右對齊。 # 2)%-20c:指定輸出category的名稱,最小的寬度是20,如果category的名稱小於20的話,"-"號指定左對齊。 # 3)%.30c:指定輸出category的名稱,最大的寬度是30,如果category的名稱大於30的話,就會將左邊多出的字符截掉,但小於30的話也不會有空格。 # 4)%20.30c:如果category的名稱小於20就補空格,並且右對齊,如果其名稱長於30字符,就從左邊交遠銷出的字符截掉。 log4j.rootLogger=DEBUG,CONSOLE,A1,im #DEBUG,CONSOLE,FILE,ROLLING_FILE,MAIL,DATABASE log4j.addivity.org.apache=true ################### # Console Appender ################### log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.Threshold=DEBUG log4j.appender.CONSOLE.Target=System.out log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n #log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n ##################### # File Appender ##################### log4j.appender.FILE=org.apache.log4j.FileAppender log4j.appender.FILE.File=file.log log4j.appender.FILE.Append=false log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n # Use this layout for LogFactor 5 analysis ######################## # Rolling File ######################## log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender log4j.appender.ROLLING_FILE.Threshold=ERROR log4j.appender.ROLLING_FILE.File=rolling.log log4j.appender.ROLLING_FILE.Append=true log4j.appender.ROLLING_FILE.MaxFileSize=10KB log4j.appender.ROLLING_FILE.MaxBackupIndex=1 log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender log4j.appender.A1.File=SampleMessages.log4j log4j.appender.A1.DatePattern=yyyyMMdd-HH'.log4j' log4j.appender.A1.layout=org.apache.log4j.xml.XMLLayout #################### # Socket Appender #################### log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender log4j.appender.SOCKET.RemoteHost=localhost log4j.appender.SOCKET.Port=5001 log4j.appender.SOCKET.LocationInfo=true # Set up for Log Facter 5 log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n ######################## # Log Factor 5 Appender ######################## log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000 ######################## # SMTP Appender ####################### log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender log4j.appender.MAIL.Threshold=FATAL log4j.appender.MAIL.BufferSize=10 log4j.appender.MAIL.From=chenyl@hollycrm.com log4j.appender.MAIL.SMTPHost=mail.hollycrm.com log4j.appender.MAIL.Subject=Log4J Message log4j.appender.MAIL.To=chenyl@hollycrm.com log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n ######################## # JDBC Appender ####################### log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver log4j.appender.DATABASE.user=root log4j.appender.DATABASE.password= log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n') log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n ################### #自定義Appender ################### log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender log4j.appender.im.host = mail.cybercorlin.net log4j.appender.im.username = username log4j.appender.im.password = password log4j.appender.im.recipient = corlin@cybercorlin.net log4j.appender.im.layout=org.apache.log4j.PatternLayout log4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
1. 問題回顧 問題背景是在進行中臺應用中間件遷移過程中,發現存在項目啓動失敗或者項目正常啓動(jsf正常掛載並正常運行,mq正常發送和消費)但是無任何日誌打印現象。更奇怪的是不打印日誌竟然是偶發的,在測試環境中多次部
一、背景 在日常部門OpsReview過程中,部門內多次遇到應用容器所在的宿主機磁盤繁忙導致的接口響應緩慢,TP99增高等影響服務性能的問題,其中比較有效的解決方案是開啓日誌的異步打印,可以有效避免同步日誌打印在磁盤IO高起的情況下拖慢業
1-前言 Spring框架本身提供了對日誌的集成,對logback的支持非常好,但是對log4j和log4j2的支持就沒那麼好。 在同步打印日誌的場景下logback擁有最高的日誌吞吐量《Logback Throughput Benchma
背景 在高併發的系統中,通常不會打印除參數校驗失敗或捕獲異常之外的日誌,防止對接口的性能產生影響。 那對於請求不符合預期的情況,我們如何快速找到是哪塊邏輯影響的至關重要。 Pfinder提供的鏈路監控,更多的是性能層面的監控,無法滿足
全球網絡安全事件頻發不斷,企業紛紛損失慘重。2021年11月,知名logo4j漏洞波及全球多達6萬款開源軟件,70%以上企業受影響。2022年3月,大型加油站服務商遭到勒索軟件攻擊,要求其支付200萬美元贖金,以換取解密器。 爲此,國內
一、背景 上週小組有個需求上線牽扯9個應用(小組目前維護了26個服務,由於團隊系統業務屬性特徵基於高可用、高性能原則拆分,有些是合理的,有些不是很合理的),同時上週OpsReview的一個微服務濫用典範案例(Promise服務A調用服務B,
API 移除掉 ExecutionConfig 中過期的方法 移除掉了 ExecutionConfig#isLatencyTrackingEnabled 方法, 你可以使用 ExecutionConfig#getLatencyTracki
本文主要講述ClickHouse中的數據存儲結構,包括文件組織結構和索引結構,以及建立在其基礎上的數據過濾機制,從Part裁剪到Mark裁剪,最後到基於SIMD的行過濾機制。 數據過濾機制實質上是構建在數據存儲格式之上的算法,所以在介紹過濾
每篇一句 大魔王張怡寧:女兒,這堆金牌你拿去玩吧,但我的銀牌不能給你玩。你要想玩銀牌就去找你王浩叔叔吧,他那銀牌多 前言 爲了講述好Spring MVC最爲複雜的數據綁定這塊,我前面可謂是做足了功課,對此部分知識此處給小夥伴留一個學
update xxxx_table set xxdate = STR_TO_DATE(substr(name,LOCATE('全時段', name) +3, 8), '%Y%m%d') WHERE xxdate is null and
本文分享自華爲雲社區《一文徹底喫透MyBatis源碼!!》,作者:冰 河。 寫在前面 隨着互聯網的發展,越來越多的公司摒棄了Hibernate,而選擇擁抱了MyBatis。而且,很多大廠在面試的時候喜歡問MyBatis底層的原理和源碼實現
本文分享自華爲雲社區《JDBC連接openGauss6.0和PostgreSQL16.2性能對比》,作者: Gauss松鼠會小助手。 PostgreSQL vs openGauss 01 前置準備 安裝JDK: 詳細安裝步驟請問度娘,輸
1-前言 本文根據實際遇到的線程池使用導致的性能問題,從代碼層面解析 線程池 核心線程數、最大線程數、工作隊列三個參數配置不佳容易產生的問題,以及對這些問題的建議 對線程池的更多解析,這篇文章講得已經比較詳細了,建議大家仔細研讀:《阿里規
爲了更好地分類閱讀 52im.net 總計 1000 多篇精編文章,我將在每週三推送新的一期技術文集,本次是第 3 期。 第 1 篇 [標題] 高性能網絡編程 (一):單臺服務器併發 TCP 連接數到底可以有多少 [鏈接] http:
一、文件屬性 下文中,“文件”一詞默認代指廣義的數據類型,跟“目錄”等詞對比使用時,則專指普通文件(File)這一特定數據類型。 Linux系統中,我們可以使用命令“ls -al”來查看當前目錄