Java 使用slf4j记录日志
引入依赖
<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");
}
}
Java 使用slf4j记录日志的更多相关文章
- JAVA - 优雅的记录日志(log4j实战篇)
写在前面 项目开发中,记录错误日志有以下好处: 方便调试 便于发现系统运行过程中的错误 存储业务数据,便于后期分析 在java中,记录日志有很多种方式: 自己实现 自己写类,将日志数据,以io操作方式 ...
- JAVA - 优雅的记录日志(log4j实战篇) (转)
写在前面 项目开发中,记录错误日志有以下好处: 方便调试 便于发现系统运行过程中的错误 存储业务数据,便于后期分析 在java中,记录日志有很多种方式: 自己实现 自己写类,将日志数据,以io操作方式 ...
- java 异常与记录日志
一. 你可能还想利用java.util.logging工具将输出记录到日志中 package exceptions; //: exceptions/LoggingExceptions.java // ...
- Java log4j slf4j 日志配置笔记
http://www.cnblogs.com/Scott007/p/3269018.html 日志的打印,在程序中是必不可少的,如果需要将不同的日志打印到不同的地方,则需要定义不同的Appender, ...
- Java使用Log4记录日志
我们在系统使用中,为了方便查找问题,因此需要记录操作的日志,而目前比较成熟稳定的程序日志记录方式就是Log4,本人也是菜鸟,然后再学习研究中就记录一下使用方式,以方便今后查阅,同时本文章参考了博客园: ...
- Java使用logback记录日志时分级别保存文件
说明:一般情况下logback可以指定类使用什么样的级别显示输出日志,并且同一类可以指定不能级别,然后对应级别进行输出日志. 第一种配置: <?xml version="1.0&quo ...
- java配置slf4j日志系统
首先要导入的包: import: 每个类中加入下面,其中 RdiFtpDownload.class 是当前的类名.class 然后就可以打日志了: 配置 log4j.properties log4j. ...
- 为什么使用 SLF4J 而不是 Log4J 来做 Java 日志
转自:为什么使用 SLF4J 而不是 Log4J 来做 Java 日志 英文原文:Why use SLF4J over Log4J for logging in Java 每个Java开发人员都知道日 ...
- Java项目中使用log记录日志的一些总结
本文介绍了一下自己在Java项目中使用log的一些总结,从日志的作用.日志的选用.日志级别介绍.日志记录的一些最佳实践几个方面阐述. 日志的作用 主要作用包括: 1.出问题后定位当时问题 2.显示程序 ...
随机推荐
- D3.js V5 教程
D3.js V5 教程 1.在项目中使用D3.js 2. 选择元素和设置(获取)属性 3. 绑定数据 4. 理解Update.Enter.Exit 与 添加.删除元素 未完待续..........
- JetBrains IntelliJ IDEA汉化
JetBrains IntelliJ IDEA汉化 开启 IntelliJ IDEA,点击右下角Configure菜单,选择 Plugins.在弹出的 Plugins窗口里,切换至 Marketpla ...
- 【JAVA】编程(2)---时间管理
作业要求: 定义一个名为 MyTime 的类,其中私有属性包括天数,时,分,秒:定义一个可以初始化时,分,秒的构造方法,并对初始化数值加以限定,以防出现bug:定义一个方法,可以把第几天,时,分,秒打 ...
- 菜鸡的Java笔记 第十六 - java 引用传递
referenceDelivery 引用传递是整个java 的精髓,也是所有初学者最难学的地方 引用的本质:同一块堆内存可以被不同的栈内存所指向 下面通过三道程序来进行引用传 ...
- 搜索系统核心技术概述【1.5w字长文】
前排提示:本文为综述性文章,梳理搜索相关技术,如寻求前沿应用可简读或略过 搜索引擎介绍 搜索引擎(Search Engine),狭义来讲是基于软件技术开发的互联网数据查询系统,用户通过搜索引擎查询所需 ...
- 微信小程序如何重写Page方法?以及重写Page方法给开发者带来的好处
17,18年的时候,我当时主要开发小程序,那时候领导想看一下小程序的访问量,还有一些埋点的需求,于是我们的小程序就接入了阿拉丁统计. 阿拉丁的接入方式除了配置以外,主要就一行引入代码.官方要求将以下代 ...
- ASP.NET 使用 Dispose 释放资源的四种方法
Dispose 和 Finalize 是运行的 .NET 和 .NET Core 应用程序释放占用的资源的两种方法.通常,如果应用程序中有非托管资源,应该显式地释放这些资源占用的资源. 由于 Fina ...
- Redis、Zookeeper实现分布式锁——原理与实践
Redis与分布式锁的问题已经是老生常谈了,本文尝试总结一些Redis.Zookeeper实现分布式锁的常用方案,并提供一些比较好的实践思路(基于Java).不足之处,欢迎探讨. Redis分布式锁 ...
- CF1511E Colorings and Dominoes
考虑计数拆开贡献. 因为在一个方案中一个格子最多只会贡献一次,那么不妨反过来求这个格子贡献了多少次. 然后发现,行列独立,那么我们单独计算红蓝色,即可. 一个偶数块贡献当且仅当前面也是偶数块. 然后显 ...
- 【2020-8-21】【数字游戏】【启发式搜索IDA*】
有这么一个游戏: 写出一个1-N的排列a[i],然后每次将相邻两个数相加,构成新的序列,再对新序列进行这样的操作,显然每次构成的序列都比上一次的序列长度少1,直到只剩下一个数字位置.下面是一个例子: ...