Log4j log for java(java的日志) 的使用
log4j的使用,Log4j log for java(java的日志) 是java主流的日志框架,提供各种类型,各种存储,各种格式,多样化的日志服务。
可以再Apache官网下载得到。

我们下载log4j,j就是java的意思,还有其他的平台如PHP .NET

选择1.2.17版本,

下载后解压缩

首先建立项目,建立log4j.properties文件
log4j.properties
log4j.rootLogger=DEBUG, Console ,File #Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n #File
log4j.appender.File = org.apache.log4j.FileAppender
log4j.appender.File.File = d://log4j.log
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
把Debug信息输出到控制台和本地文件
指定布局格式以及输出地址 具体含义此处只需了解
代码如下:
import org.apache.log4j.Logger;
public class Demo {
private static Logger logger=Logger.getLogger(Demo.class); // 获取logger实例
public static void main(String[] args) {
logger.info("普通Info信息");
logger.debug("调试debug信息");
}
}
运行后,控制台输出内容 和 D盘下会多出一个文件
控制台内容:
2017-10-08 00:42:18,718 [main] INFO [com.zhi.log4j.Demo] - 普通Info信息
2017-10-08 00:42:18,750 [main] DEBUG [com.zhi.log4j.Demo] - 调试debug信息
D盘下文件名:
log4j.log(就是我们在配置文件里指定的)
代码示例:
import org.apache.log4j.Logger;
public class Demo {
private static Logger logger=Logger.getLogger(Demo.class); // 获取logger实例
public static void main(String[] args) {
logger.info("普通Info信息");
logger.debug("调试debug信息");
logger.error("错误error信息");
logger.warn("警告warn信息");
logger.fatal("严重错误fatal信息");
//开发中有可能会遇到一下经典异常
logger.error("错误了",new IllegalArgumentException("非法参数异常"));
}
}
此时控制台输出:
2017-10-08 00:58:07,000 [main] INFO [com.zhi.log4j.Demo] - 普通Info信息
2017-10-08 00:58:07,000 [main] DEBUG [com.zhi.log4j.Demo] - 调试debug信息
2017-10-08 00:58:07,000 [main] ERROR [com.zhi.log4j.Demo] - 错误error信息
2017-10-08 00:58:07,000 [main] WARN [com.zhi.log4j.Demo] - 警告warn信息
2017-10-08 00:58:07,000 [main] FATAL [com.zhi.log4j.Demo] - 严重错误fatal信息
2017-10-08 00:58:07,000 [main] ERROR [com.zhi.log4j.Demo] - 错误了
java.lang.IllegalArgumentException: 非法参数异常
at com.zhi.log4j.Demo.main(Demo.java:15)
非法参数异常对于初学者来说可能会经常遇见。
同时D盘的log4j文件内容

日志信息又追加进去了
Log4j log for java(java的日志) 的使用的更多相关文章
- Java学习-046-日志抓取合并后排序问题解决方案之 --- log4j 二次定制,实现日志输出添加延时10ms
自3月25至今,已经好久没有写学习日志了,今天在写日志抓取合并的小方法,发现抓取后的日志并米有依据系统执行的日志顺序排序.日志抓取排列逻辑如下: 通过日志标识,从各个日志文件(例如 use.log,e ...
- java中的日志组件-log4j
1.为什么使用日志组件 Log4J是Apache的一个开放源代码项目,它是一个日志操作包,通过使用Log4J,可以指定日志信息输出的目的地,如控制台.文件.CUI组件.NT的事件记录器:还可以控制每一 ...
- log4j log for java
1.log4j简介 1.如果程序中出现异常,我们怎么解决? 01.使用异常处理机制===>异常 (但是使用原则是,能不用异常处理机制,最好不用,怎么办?) 02.通过debug调试 (必须掌握) ...
- Java中的日志——Java.util.logging、log4j、commons-logging
Java中给项目程序添加log主要有三种方式,一使用JDK中的java.util.logging包,一种是log4j,一种是commons-logging.其中log4j和commons-loggin ...
- Log4j官方文档翻译(四、如何在java中输出日志消息)
我们已经创建来配置文件,本章详细的介绍下如何生成调试信息,并把他们转化成文本文件. 基本的例子 下面就是创建的一个基本的例子: log4j.properties的内容为: log = /usr/hom ...
- slf4j+log4j在Java中实现日志记录
小Alan今天来跟大家聊聊开发中既简单又常用但必不可少的一样东西,那是什么呢?那就是日志记录,日志输出,日志保存. 后面就统一用日志记录四个字来形容啦. 日志记录是项目的开发中必不可少的一个环节,特别 ...
- java中开源日志记录工具log4j
日志:除了能记录异常信息,还可以记录程序正常运行时的关键信息. 使用log4j来进行日志文件记录经典步骤: 001.在项目中创建一个lib文件夹,然后将下载好的jar包copy到该文件夹下 002.对 ...
- Java学习-007-Log4J 日志记录配置文件详解及实例源代码
此文主要讲述在初学 Java 时,常用的 Log4J 日志记录配置文件详解及实例源代码整理.希望能对初学 Java 编程的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激!源代码测试通过日期为:20 ...
- java中的日志打印
java中的日志打印: 日志工具类: #获取日志 INFO:表示获取日志的等级 A1:表示日志存器,可以自定义名称 #===DEBUG INFO log4j.rootLogger=DEBUG,A1,A ...
随机推荐
- 内网渗透 - 提权 - Windows
MS提权 MS16- MS16- 提权框架 Sherlock 信息收集 ifconfig -a cat /etc/hosts arp -a route -n cat /proc/net/* ping扫 ...
- HDFS中NameNode和Secondary NameNode工作机制
NameNode工作机制 0)启动概述 Namenode启动时,首先将映像文件(fsimage)载入内存,并执行编辑日志(edits)中的各项操作.一旦在内存中成功建立文件系统元数据的映像,则创建一个 ...
- CodeForce 855B 暴力or线段树
CodeForce 855B 暴力or线段树 题意 给你一串数,然后找出三个数,他们的前后关系和原来一样,可以相同,然后分别乘p,q,r,求他们积的和最大,并且输出这个数. 解题思路 这个可以使用线段 ...
- [BZOJ2588]Count on a tree(LCA+主席树)
题面 给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权.其中lastans是上一个询问的答案,初始为0,即第一个询问 ...
- JavaScript、ES6中的类和对象
面向对象可以用于描述现实世界的事物,但是事物分为具体的(特指的)事物和抽象的(泛指的)事物. 面向对象思维的特点: 1.抽取(抽象)对象共有的属性和行为组织(封装)成一个类(模板) 2. ...
- $_ENV输出为null的原因及解决办法
有些朋友输出$_ENV是空的,可能原因是php.ini的variables_order值为"GPCS",也就是说系统在定义PHP预定义变量时的顺序是GET,POST,COOKIES ...
- python连接mariadb报错解决1045, "Access denied for user 'root'@'192.168.0.50' (using password: YES)
[root@localhost ~]# python Python 2.7.5 (default, Apr 11 2018, 07:36:10) [GCC 4.8.5 20150623 (Red Ha ...
- 【记录】spring boot 全局捕获异常@ExceptionHandler与@Validated @RequestBody 配合使用
@ExceptionHandler与@Validated @RequestBody 三者配合使用可以很好的做到入参校验,具体demo如下: 接口 import org.springframework. ...
- Read-Only Tables 只读表
Put a table into read-only mode,which prevents DDL or DML changes during table maintenance Put the ...
- [Poj2349]Arctic Network(二分,最小生成树)
[Poj2349]Arctic Network Description 国防部(DND)要用无线网络连接北部几个哨所.两种不同的通信技术被用于建立网络:每一个哨所有一个无线电收发器,一些哨所将有一个卫 ...