引入依赖

<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记录日志的更多相关文章

  1. JAVA - 优雅的记录日志(log4j实战篇)

    写在前面 项目开发中,记录错误日志有以下好处: 方便调试 便于发现系统运行过程中的错误 存储业务数据,便于后期分析 在java中,记录日志有很多种方式: 自己实现 自己写类,将日志数据,以io操作方式 ...

  2. JAVA - 优雅的记录日志(log4j实战篇) (转)

    写在前面 项目开发中,记录错误日志有以下好处: 方便调试 便于发现系统运行过程中的错误 存储业务数据,便于后期分析 在java中,记录日志有很多种方式: 自己实现 自己写类,将日志数据,以io操作方式 ...

  3. java 异常与记录日志

    一. 你可能还想利用java.util.logging工具将输出记录到日志中 package exceptions; //: exceptions/LoggingExceptions.java // ...

  4. Java log4j slf4j 日志配置笔记

    http://www.cnblogs.com/Scott007/p/3269018.html 日志的打印,在程序中是必不可少的,如果需要将不同的日志打印到不同的地方,则需要定义不同的Appender, ...

  5. Java使用Log4记录日志

    我们在系统使用中,为了方便查找问题,因此需要记录操作的日志,而目前比较成熟稳定的程序日志记录方式就是Log4,本人也是菜鸟,然后再学习研究中就记录一下使用方式,以方便今后查阅,同时本文章参考了博客园: ...

  6. Java使用logback记录日志时分级别保存文件

    说明:一般情况下logback可以指定类使用什么样的级别显示输出日志,并且同一类可以指定不能级别,然后对应级别进行输出日志. 第一种配置: <?xml version="1.0&quo ...

  7. java配置slf4j日志系统

    首先要导入的包: import: 每个类中加入下面,其中 RdiFtpDownload.class 是当前的类名.class 然后就可以打日志了: 配置 log4j.properties log4j. ...

  8. 为什么使用 SLF4J 而不是 Log4J 来做 Java 日志

    转自:为什么使用 SLF4J 而不是 Log4J 来做 Java 日志 英文原文:Why use SLF4J over Log4J for logging in Java 每个Java开发人员都知道日 ...

  9. Java项目中使用log记录日志的一些总结

    本文介绍了一下自己在Java项目中使用log的一些总结,从日志的作用.日志的选用.日志级别介绍.日志记录的一些最佳实践几个方面阐述. 日志的作用 主要作用包括: 1.出问题后定位当时问题 2.显示程序 ...

随机推荐

  1. js之变量与数据类型

    变量 声明 一个变量被重新复赋值后,它原有的值就会被覆盖,变量值将以最后一次赋的值为准. var age = 18; age = 81; // 最后的结果就是81因为18 被覆盖掉了 同时声明多个变量 ...

  2. JS数据类型转换问题

    一.数据类型的转换 数据类型的转换方法 强制转换(显示转换,主动转换) 字符转数值 parseInt(要转换的数值或变量) 转整数 从左向右依次转换,遇到第一个非数字的字符,停止转换 忽略小数点后的内 ...

  3. PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilder,阿里MAVEN仓库地址更新为了https问题

    http://maven.aliyun.com/nexus/content/groups/public/,仓库地址更新为了https,所以下载时需要ssl认证,我们可以忽略ssl检查导致的问题,我们可 ...

  4. 在随着layui官网下架后 layui镜像站起来了

    layui:https://gitee.com/lh_yun/layui 介绍 layui镜像站 「本站仅为 layui 文档保留的镜像站点,与官方无关」 源码地址 在线 pdf 1.主页 https ...

  5. 这一次,Google 终于对 Web 自动化下手了!

    大家好,我是安果! 最近 Google 对 Chrome 进行了一次比较大的更新,其中一项是脚本录制回放功能,它可以非常方便我们处理一些自动化场景 我们可以在 Chrome 官网下载 Chrome C ...

  6. AtCoder Regular Contest 127

    Portal B Description 给出\(n(\leq5\times10^4),L(\leq15)\),构造\(3n\)个不同\(L\)位的三进制数,使得在这\(3n\)个数的每一位上,0/1 ...

  7. 面霸篇:Java 集合容器大满贯(卷二)

    面霸篇,从面试角度作为切入点提升大家的 Java 内功,所谓根基不牢,地动山摇. 码哥在 <Redis 系列>的开篇 Redis 为什么这么快中说过:学习一个技术,通常只接触了零散的技术点 ...

  8. 测试平台系列(82) 解决APScheduler重复执行的问题

    大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的完整教程,希望大家多多支持. 欢迎关注我的公众号测试开发坑货,获取最新文章教程! 回顾 上一节我们编写了在线执行R ...

  9. idea内存配置

     找到IDEA安装的bin目录 打开idea.exe.vmoptions 文件 如果嫌麻烦还打开了idea 那么就可以点击这个.. 关键的三个参数的说明 1. -Xms 是最小启动内存参数 2. -X ...

  10. 打开order by的大门,一探究竟《死磕MySQL系列 十二》

    在日常开发工作中,你一定会经常遇到要根据指定字段进行排序的需求. 这时,你的SQL语句类似这样. select id,phone,code from evt_sms where phone like  ...