日誌檔案 log4j解釋和 spring Boot開發步驟
阿新 • • 發佈:2018-12-12
日誌處理技術
日誌級別:
error>warn>info>debug
注意:級別越高,列印日誌越少
日誌分類
父日誌 整個專案中的日誌,全域性日誌
子日誌 針對某個包列印的日誌
子日誌的優先順序高於父日誌
- springmvc 中 log4j
# Rules reminder
# DEBUG < INFO < WARN < ERROR < FATAL
# Global logging configuration
# rootLogger 父日誌 子日誌
# stdout 別名
log4j. rootLogger=ERROR, stdout
# My logging configuration...
log4j.logger.com.yangyang.dao=DEBUG
## Console output...
# 列印位置 ConsoleAppender 追加在控制檯
#
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#
log4j.appender.stdout.layout.ConversionPattern= %5p %d %C: %m%n
Appender 為日誌輸出目的地,Log4j提供的appender有以下幾種:
org.apache.log4j.ConsoleAppender(控制檯),
org.apache.log4j.FileAppender(檔案),
org.apache.log4j.DailyRollingFileAppender(每天產生一個日誌檔案),
org.apache.log4j.RollingFileAppender(檔案大小到達指定尺寸的時候產生一個新的檔案),
org.apache.log4j.WriterAppender(將日誌資訊以流格式傳送到任意指定的地方)
Layout:
org.apache.log4j.HTMLLayout(以HTML表格形式佈局),
org.apache.log4j.PatternLayout(可以靈活地指定佈局模式),
org.apache.log4j.SimpleLayout(包含日誌資訊的級別和資訊字串),
org.apache.log4j.TTCCLayout(包含日誌產生的時間、執行緒、類別等等資訊)
列印引數:
%m 輸出程式碼中指定的訊息
%p 輸出優先順序,即DEBUG,INFO,WARN,ERROR,FATAL
%r 輸出自應用啟動到輸出該log資訊耗費的毫秒數
%c 輸出所屬的類目,通常就是所在類的全名
%t 輸出產生該日誌事件的執行緒名
%n 輸出一個回車換行符,Windows平臺為“/r/n”,Unix平臺為“/n”
%d 輸出日誌時間點的日期或時間,預設格式為ISO8601,也可以在其後指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS},輸出類似:2002年10月18日 22 : 10 : 28 , 921
%l 輸出日誌事件的發生位置,包括類目名、發生的執行緒,以及在程式碼中的行數。舉例:Testlog4.main(TestLog4.java: 10 )
這裡引用:https://blog.csdn.net/azheng270/article/details/2173430 這篇文章
- 在java 程式中,日誌輸出語句
@Controller
@RequestMapping("test")
public class DeptController {
//導log4j 包,注意 這個包只適用於springmvc 中,springboot不適用
static Logger logger=Logger.getLogger(DeptController.class);
@Autowired
private DeptService deptService;
@RequestMapping("finall")
public @ResponseBody List<Dept> finall(){
List<Dept> finall = deptService.finall();
logger.info("這裡是info");
logger.debug("這裡是debug");
logger.error("這裡是error");
logger.warn("這裡是warn");
return finall;
}
}
- SpringBoot 預設日誌等級是 INFO
- SpringBoot 日誌配置檔案 logback
logback開發流程
①不需要jar包
②配置檔案 logback.xml
1)檔名字不能寫錯嘍!!
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern> [%p] %d{yyyy-MM-dd HH:mm:ss}%m %n</pattern>
</layout>
</appender>
<!--這裡修改-->
<root level="ERROR">
<appender-ref ref="stdout"/>
</root>
<!---->
<logger name="com.yangyang.dao" level="DEBUG"/>
</configuration>
在springboot中 在程式中輸出日誌 :
@Controller
@RequestMapping("test")
public class DeptController {
//導slf4j包
static Logger logger=Logger.getLogger(DeptController.class);
@Autowired
private DeptService deptService;
@RequestMapping("finall")
public @ResponseBody List<Dept> finall(){
List<Dept> finall = deptService.finall();
logger.info("這裡是info");
logger.debug("這裡是debug");
logger.error("這裡是error");
logger.warn("這裡是warn");
return finall;
}
}