Java 使用slf4j记录日志
2024-09-08 09:16:18
引入依赖
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.25</version>
</dependency>
在resources目录下创建log4j.properties文件
# 日志级别,stdout方式,file方式
log4j.rootLogger=info,stdout,file
# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
#log4j.appender.C.encoding=gbk
# Rirect log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=logs/log.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
#log4j.appender.C.encoding=gbk
log4j.rootLogger=info,stdout,file
指定日志级别显示info以上的信息
设置两个日志对象stdout和file
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
采用org.apache.log4j.PatternLayout的风格进行布局
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
设置stdout为控制台输出
log4j.appender.stdout.layout.ConversionPattern 设置输出格式
%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
%d: 时间日期格式
%p: 日志等级, %-5p, 5调节和后面一个字段的间距大小, 越大间距越大
%c: 输出日志信息的代码所在的类, %c{1},{}中的数字代表来的层级深度
%L: 输出日志的代码所在的行数
%m: 输出指定信息, 就是message
%n: 输出一个换行符号, linux下是n, windows是rn
%-5p的水平
2020-07-13 19:02:46 INFO Main:61 - 提交kafka offset!
2020-07-13 19:02:49 INFO SolrClient:68 - 提交solr的数据为:8
%-20p的水平
2020-07-13 19:03:26 INFO Main:61 - 提交kafka offset!
2020-07-13 19:03:27 INFO Main:61 - 提交kafka offset!
%c{1}水平
2020-07-13 19:02:49 INFO SolrClient:68 - 提交solr的数据为:8
2020-07-13 19:03:27 INFO Main:61 - 提交kafka offset!
%c{2}水平
2020-07-13 19:04:20 INFO mycom.Main:61 - 提交kafka offset!
2020-07-13 19:04:20 INFO mycom.Main:61 - 提交kafka offset!
%c{3}水平
2020-07-13 19:06:29 INFO com.mycom.Main:61 - 提交kafka offset!
2020-07-13 19:04:20 INFO com.mycom.Main:61 - 提交kafka offset!
log4j.appender.file=org.apache.log4j.RollingFileAppender
指定file的输出类型是输出到文件
log4j.appender.file.File=logs/log.log
输出的文件路径(需要新建logs文件夹)
log4j.appender.file.MaxFileSize=5MB
日志大小超过5mb就分一个新文件
log4j.appender.file.MaxBackupIndex=10
最大保存的最新的日志份数, 11份, 后缀从1到10, 还有一个最新的没有后缀的
-rw-r--r-- 1 root root 4214040 7月 13 19:22 log.log
-rw-r--r-- 1 root root 6493256 7月 13 17:18 log.log.1
-rw-r--r-- 1 root root 5343152 7月 13 16:36 log.log.2
-rw-r--r-- 1 root root 5343152 7月 13 16:36 log.log.3
-rw-r--r-- 1 root root 5343152 7月 13 16:36 log.log.4
-rw-r--r-- 1 root root 5343152 7月 13 16:36 log.log.5
-rw-r--r-- 1 root root 5343152 7月 13 16:36 log.log.6
-rw-r--r-- 1 root root 5343152 7月 13 16:36 log.log.7
-rw-r--r-- 1 root root 5343152 7月 13 16:36 log.log.8
-rw-r--r-- 1 root root 5343152 7月 13 16:36 log.log.9
-rw-r--r-- 1 root root 5343152 7月 13 16:36 log.log.10
在脚本中获得logger对象
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class IncSolrEnt {
private static final Logger LOGGER = LoggerFactory.getLogger(Main.class);
public static void main(String[] args) {
LOGGER.info("hello");
}
}
最新文章
- iOS 相机
- Redis -- 01 入门
- Android常用控件及对应Robotium API
- iOS开发之 Xcode6 添加xib文件,去掉storyboard的hello world应用
- 【故障处理】ORA-12162: TNS:net service name is incorrectly specified
- Python 描述符(descriptor) 杂记
- 关于ADO.NET 实体数据数据模型无法为Mysql 选择6.0 解决方案
- javascript二维数组
- 在命令行中如何访问Program Files文件夹(转)
- 批量处理csv格式转换成xls
- 9.C++-对象的构造函数(详解)
- IM开发者的零基础通信技术入门(二):通信交换技术的百年发展史(下)
- Phonics 自然拼读法 ai, oa,ie, ee,or,j Teacher:Lamb
- PHP——判断数组中是否有重复值并找出重复值
- 如何在windows下使用pip安装
- MVC的ViewData自动给Razor写的input赋值
- 2018.11.06 bzoj1912: [Apio2010]patrol 巡逻(树形dp)
- CentOS7.0重置Root的密码 (忘记密码)
- Django 内置模板标签和过滤器
- Opencv3_Learning