Java使用Log4j记录日志的方法详解
作者:靳骁曈 发布时间:2022-09-19 01:09:50
首先去官网下载 一个压缩包 网址: 这里是 1.2.17的版本 下载之后解压就可以了
下面就从eclipse中添加 加压后的jar包
直接上图吧:
1.
2.
3.
4.
5.
导入之后就是写代码了
首先导入包:import org.apache.log4j.Logger;
然后创建 Logger写入器:private static Logger logger = Logger.getLogger(Test01.class.getName());
下面这段代码提供参考以一个除法为例:
import java.util.Scanner;
import org.apache.log4j.Logger;
public class Test01 {undefined
/**
* 创建日志写入器
*/
private static Logger logger = Logger.getLogger(Test01.class.getName());
public static void main(String[] args) {undefined
try {undefined
devide();
} catch (Exception e) {undefined
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(e.getMessage());
logger.error(e.getMessage());
}
}
/**
* 除 * 能
*/
private static void devide() throws Exception{undefined
Scanner input = new Scanner(System.in);
System.out.println("请输入被除数");
int num1 = input.nextInt();
logger.warn("输入被除数:"+num1);
System.out.println("请输入除数");
int num2 = input.nextInt();
logger.warn("除数:"+num2);
System.out.println(num1+" / "+num2+" = "+num1/num2);
logger.warn("输出结果:"+num1+" / "+num2+" = "+num1/num2);
}
}
然后直接run 就好了
如果出现
log4j:WARN No appenders could be found for logger (testLog4j.testLog4j).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
就是 没找到 log4j.properties文件
导入你的文件就可以了 或者,,自己写一个 右击src ,new File 输入文件名 log4j.properties
下面代码可以参考:
### 等级 ,输出目的地 ,输出目的地
log4j.rootLogger=DEBUG,stdout,logfile
#配置输出目的地 输出目的为 Console 布局是自己定义的
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#跟随输出
log4j.appender.stdout.Target=System.err
#自定义布局
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#定义布局格式
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}%l %F %M %p%m%n
#配置输出目的地 输出目的地为 jbit.log文件 布局 自己定义
log4j.appender.logfile=org.apache.log4j.FileAppender
#文件名称
log4j.appender.logfile.File=jbit.log
#自定义布局
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
#布局格式
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}%l %F %M %p %m%n
步骤如下:
之后就可以写入代码了 写入保存之后 run
来源:https://blog.csdn.net/weixin_42117150/article/details/113569555


猜你喜欢
- Springmvc调用存储过程,并返回存储过程返还的数据java后端很多时候都需要和数据库进行交互,并返回业务数据。一般情况下都会采用执行S
- 前言制作无边框窗口时,系统自带阴影会消失,这时就需要我自己给窗口添加阴影以防止窗口融入背景。添加阴影的方法很简单,直接用effect就可以了
- MojoUnityJson 是使用C#实现的JSON解析器 ,算法思路来自于游戏引擎Mojoc的C语言实现 Json.h 。借助C#的类库,
- 小程序官方流程图如下,官方地址 : https://developers.weixin.qq.com/miniprogram/dev/fra
- 这个功能,大家也都可以去百度以下,千篇一律都自己写的(抄的)封装好的公共类,此处还是得膜拜下原创的大佬,可以花时间去搞这个,我看着都头皮发麻
- 像ipconfig /all 这样的CMD命令想必大家都知道,但是很多童鞋可能不知道怎么写这样的控制台带参数的程序,其实很简单,我们先看建立
- 1.稀疏数组引入1.1 使用场景笔者在课程设计中曾写过一个扫雷小游戏,为了便于讲解,我们来做个简化(实际比这个复杂),只考虑当前位置有雷与无
- 本文实例讲述了java计算给定字符串中出现次数最多的字母和该字母出现次数的方法。分享给大家供大家参考,具体如下:import Java.ut
- 生产者消费者模式的几种实现方式拿我们生活中的例子来说,工厂生产出来的产品总是要输出到外面使用的,这就是生产与消费的概念。在我们实际的软件开发
- 批注是一种富文本注释,常用于为指定的Excel单元格添加提示或附加信息。 Free Spire.XLS for Java为开发人员免费提供了
- 这个问题困扰了很久,有些类不是controller在使用autowired注入的类显示为空,找到网上的方法是在类初始化时主动注入被Autow
- Mybatis的Dao层实现传统开发方式1、编写UserDao接口public interface UserMapper {public L
- 互斥锁(Mutex)互斥锁是一个互斥的同步对象,意味着同一时间有且仅有一个线程可以获取它。互斥锁可适用于一个共享资源每次只能被一个线程访问的
- 简介Pyjnius是一个用于访问Java类的Python库。适用场景:极个别的加密算法等内容,用python不方便实现或者实现较耗时,可基于
- 通常在写程序的时候,当要用到某些组件,采用的方法一般都是动态创建,用完以后就释放掉。Visual C#在程序运行的时
- 一、使用ThreadLocal实现当前登录信息的存取在项目中我们增加一个员工有一些信息是需要我们自己填入的,有一些信息不需要我们自己填写,例
- 实现以下功能:验证字符串是否由正负号(+-)、数字、小数点构成,并且最多只有一个小数点验证字符串是否仅由[0-9]构成验证字符串是否由字母和
- 文件上传是网站非常常用的功能,直接使用Servlet获取上传文件还得解析请求参数,比较麻烦,所以一般选择采用apache的开源工具,comm
- MyBatis 配置之集合的嵌套前言介绍在一些查询结果包装类中,包含一些 List 集合属性,使用 collection 标签可以声明该 L
- static void Main(string[] args){ Process proc = null