linux error log 换行,日志提示
日志提示
線上問題,需要看日志。
控制臺可以打印Mybatis操作的SQL語句。
開發流程:
第一步:加入依賴
image.png
第二步:在項目的resources中加入log4j屬性文件
image.png
第三步:演示
image.png
擴展了解
一、日志概念的介紹
Log4j由三個重要的組件構成:Loggers(日志記錄器),Appenders(輸出源)和Layouts(布局格式)。
三個核心概念:
公共類 Logger 負責處理日志記錄的大部分操作。
公共接口 Appender 負責控制日志記錄的輸出。
公共抽象類 Layout 負責格式化Appender的輸出
日志信息的優先級從高到低,分別用來指定這條日志信息的重要程度;
日志信息的輸出目的地指定了日志將打印到控制臺還是文件中;
而輸出格式則控制了日志信息的顯示內容。
image.png
log4j規定了默認的幾個級別:
ALL
這里要說明一下:
1) 級別之間是包含的關系,意思是如果你設置日志級別是trace,則大于等于這個級別的日志都會輸出。
2)這不同的級別的含義大家都很容易理解,這里就簡單介紹一下:
trace: 是追蹤,就是程序推進一下,你就可以寫個trace輸出,所以trace應該會特別多,不過我們可以設置日志級別不讓他輸出。
debug: 調試,我一般就只用這個作為最低級別,trace壓根不用。 開發環境使用
info: 設置成INFO就是一些代碼執行過程當中的跟蹤消息等,也就是說比較重要的信息,這個用的最多了。 線上環境使用
warn: 有些信息不是錯誤信息,但是也要給程序員的一些提示,類似于eclipse中代碼的驗證有warnning(不算錯誤但是也請注意)。
error: 錯誤信息。用的也比較多。
fatal: 級別比較高了。重大錯誤,這種級別你可以直接停止程序了。
自定義樣式
%c 輸出所屬的類目,通常就是所在類的全名
%C 輸出Logger所在類的名稱,通常就是所在類的全名
%d 輸出日志時間點的日期或時間,默認格式為ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS},%d{ABSOLUTE},%d{DATE}
%F 輸出所在類的類名稱,只有類名。
%l 輸出語句所在的行數,包括類名+方法名+文件名+行數
%L 輸出語句所在的行數,只輸出數字
%m 輸出代碼中指定的訊息,如log(message)中的message
%M 輸出方法名
%p 輸出日志級別,即DEBUG,INFO,WARN,ERROR,FATAL
%r 輸出自應用啟動到輸出該log信息耗費的毫秒數
%t 輸出產生該日志事件的線程名
%n 輸出一個回車換行符,Windows平臺為“/r/n”,Unix平臺為“/n”
%% 用來輸出百分號“%”
二、讀取日志文件
這里是調試,所以是DBUG級別
Log4j中有一個根記錄器rootLogger,它是所有Logger的父類。
并且日志記錄器我們是可以寫好多份的,每一份可以寫不同的名字
比如我們的tomcat當中的日志文件 就是這個原理
log4j.rootLogger=DEBUG, Console ,logfile
這個是根日志記錄器,除了它以外其它的都是它的子記錄器
設置Logger輸出級別和輸出目的地
Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
會有不同的輸出目的的,此處就是在控制臺上面
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
確定一種輸出的格式
log4j.appender.Console.layout.ConversionPattern=
具體的格式由這個表達式來格式化
%d{ABSOLUTE} %5p %t %c{2}:%L - %m%n
調試環境打印SQL
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
把日志信息輸出到文件###
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.File=qf.log
log4j.appender.logfile.DatePattern = '.'yyyy-MM-dd
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%n
這個屬性文件在控制臺和具體的日志文件都做了日志輸出,所以這里有2份日志。
修改盤符路徑:注意有兩個\
log4j.appender.logfile.File=D:\certs\qf.log
或者:
log4j.appender.logfile.File=D:/certs/qf.log
同時注意以后在Linux服務器上的路徑(沒有盤符)
/opt/qf/apache-tomcat-8.5.11-8060/logs
按照時間產生日志文件:
當天的日志信息記錄在qf.log文件中
前一天的記錄在名稱為 qf.log.yyyy-mm-dd 的文件中。
需要修改系統日歷做測試:
image.png
工作中效果:按照日期查看系統對應的日志,確認系統是否有故障。
image.png
下面是 log4j.properties
設置Logger輸出級別和輸出目的地
第一個參數設置的是輸出級別 設置稱為了測試級別
輸出目的地設置了兩個地方 第一個是控制臺 第二個是輸出文件
log4j.rootLogger=DEBUG, Console ,logfile
Console 這部分主要設置 輸出的格式 以及設置sql的打印輸出
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
把日志信息輸出到文件### 設置了輸出文件名稱 設置根據系統時間每天生成不同的日志文件
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.File= zyh.log
log4j.appender.logfile.DatePattern = '.'yyyy-MM-dd
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %F %p %m%n
使用Logger 打印輸出在控制臺 或者 日志文件
首先在需要使用Logger的
image.png
logger.info("我是測試輸出啊");
輸出如下:
image.png
總結
以上是生活随笔為你收集整理的linux error log 换行,日志提示的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: glib 2.0 arm linux,g
- 下一篇: c 异步中断服务器连接,异步连接和断开与