引入依赖

<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. idea Mark Directory as 的几种文件类型

    1. Source roots (or source folders) 源文件夹 通过为该类别分配文件夹,可以告诉IntelliJ IDEA该文件夹及其子文件夹包含应在构建过程中进行编译的源代码. 2 ...

  2. 权限控制-RBAC(Role-Based Access Control)

    RBAC是基于角色的权限访问控制,在RBAC中角色与权限相连,用户通过成为某个角色而得到角色的权限,这就极大的简化了权限的管理,用户和角色多对多,角色和权限多对多,由此产生用户表.角色表.权限表,用户 ...

  3. celery config

    /* Useful celery config. app = Celery('tasks', broker='redis://localhost:6379', backend='redis://loc ...

  4. MAC VMware fusion 12.1.0 Centos7 网络配置

    虚拟机选择NAT模式 获取mac机器中vmnet8的gateway地址 找到 # NAT gateway address这一行,下面的ip就是gateway地址 cat /Library/Prefer ...

  5. CSS学习笔记:grid布局

    目录 一.Grid布局简介 二.Grid布局的一些概念 三. 容器元素属性 1. grid-template-* 1.1 网格行和列的设置 1.2 repeat的使用 1.3 使用fr 1.4 aut ...

  6. 在 Kubernetes 上安装 Gitlab CI Runner Gitlab CI 基本概念以及 Runner 的安装

    简介 从 Gitlab 8.0 开始,Gitlab CI 就已经集成在 Gitlab 中,我们只要在项目中添加一个.gitlab-ci.yml文件,然后添加一个Runner,即可进行持续集成.在介绍 ...

  7. excel的表格数据插入到数据库

    看到有excel保存insert的数据,自己照着教程弄了一下,可以的. 表格数据 接下来我们在d3的位置输入 =CONCATENATE("insert into user(code, nam ...

  8. 第三方登陆-qq互联

    看到很多网站都有第三方登陆,使用业余时间自己也要实现一个第三方登陆的功能: 1.登陆qq互联的网站:https://connect.qq.com/index.html 2.点击头像进行资料申请 --- ...

  9. 使用Python定时清理运行超时的pdflatex僵尸进程

    问题 在我们之前的<基于texlive定制chemfig化学式转换Python服务镜像>定制的pdflatex在线转换的镜像已经运行在生产环境了,但是最近总有人反馈服务跑着跑着就慢了,本来 ...

  10. vue项目中使用 SheetJS / js-xlsx 导入文件

    原表格样式; 导入效果: 1.  安装 npm install xlsx 2. 在App.vue 中引入xlsx import * as XLSX from 'xlsx'; // 数据导出导入所需要的 ...