(一)问候 Log4j 你好
第一节: Log4j 简介
Log4j -------- log for java(java的日志) 是java主流的日志框架,提供各种类型,各种存储,各种格式,多样化的日志服务;
在爬虫领域,主要用于记录爬虫的执行过程,方便排查爬虫执行错误问题;
详细介绍 参考百度百科
http://baike.baidu.com/link?url=FCidaDzCVSgeIl1Yw7CyufySJLQvd4n3QCusbnTTTxqdg1EYdg59Kd-Hm5gyCdkgNMaYQvmUVXMxxf3k2Pnwdq
第二节: Log4j HelloWorld 实现
建立一个简单的maven项目
pox.xml引入log4j
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
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://log2.log
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
上面配置文件是把Debug信息输出到控制台和本地文件
指定布局格式以及输出地址 具体含义后面会详细讲解

Test.java
package com.wishwzp.log4j; import org.apache.log4j.Logger; /**
* Log4j测试类
* @author ainio
*
*/
public class Test { private static final Logger logger = Logger.getLogger(Test.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-06-19 15:06:34,398 [main] INFO [com.wishwzp.log4j.Test] - 普通Info信息
2017-06-19 15:06:34,399 [main] DEBUG [com.wishwzp.log4j.Test] - 调试debug信息
2017-06-19 15:06:34,399 [main] ERROR [com.wishwzp.log4j.Test] - 报错error信息
2017-06-19 15:06:34,399 [main] WARN [com.wishwzp.log4j.Test] - 警告warn信息
2017-06-19 15:06:34,399 [main] FATAL [com.wishwzp.log4j.Test] - 严重错误fatal信息
2017-06-19 15:06:34,400 [main] ERROR [com.wishwzp.log4j.Test] - 报错信息
java.lang.IllegalArgumentException: 非法参数
at com.wishwzp.log4j.Test.main(Test.java:22)

本地D盘也会有一个log2.log日志文件 打开 也会有对应的日志信息
(一)问候 Log4j 你好的更多相关文章
- 【JavaScript】轻易改变的背景和字体颜色页面
JavaScript,点击button改变页面背景和字体颜色,网页有N颜色的变化button.点击不同button,网页字体和背景将被改变为不同的颜色. 非常easy的JavaScript小程序. 一 ...
- nodejs学习笔记之网络编程
了解一下OSI七层模型 OSI层 功能 TCP/IP协议 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层 数据格式化 ...
- java 接口参数
Example6_5.java interface SpeakHello { void speakHello(); } class Chinese implements SpeakHello { pu ...
- Python全栈开发之10、网络编程
网络编程就是如何在程序中实现两台计算机的通信,而两台计算机间的通信其实就是两个进程间的通信,进程间的通信主要通过socket(套接字)来描述ip地址(主机)和端口(进程)来实现的,因此我们学习网络编程 ...
- Linux运维基础入门(一)网络基础知识梳理01
一,计算机网络参考模型 1.1 OSI七层模型 1)物理层 主要功能是完成相邻节点之间原始比特流的传输.(网卡等) 物理层协议关心的典型问题是使用什么样的物理信号来表示数据1和0:持续的时间有多长:数 ...
- 手机QQ空间自动点赞登录
学以致用~使用 Appium 模拟人类操控手机行为 V2.0在手机上运行,目前实现以下功能: 1.小黑屋模式,一分钟内给好友发100条消息然后进了好友的小黑屋 2.定时发消息提醒对象多喝热水~ 3.对 ...
- Log4j – Log4j 2 API
Overview The Log4j 2 API provides the interface that applications should code to and provides the ad ...
- 自定义log4j的appender写es日志
本篇和大家分享的是自定义log4j的appender,用es来记录日志并且通过kibana浏览es记录:就目前互联网或者一些中大型公司通常会用到第三方组合elk,其主要用写数据到es中,然后通过可视化 ...
- Java日志体系(二)log4j
1.1 简介 Log4j是一个由Java编写可靠.灵活的日志框架,是Apache旗下的一个开源项目: 使用Log4j,我们更加方便的记录了日志信息,它不但能控制日志输出的目的地,也能控制日志输出的内容 ...
随机推荐
- 由支付宝当面付引发的NatApp方便调试回调
http://blog.csdn.net/xunxianren007/article/details/54954520 这篇文章写的很好,很详细. 回调理解: 所谓回调:就是A类中调用B类中的某个方法 ...
- linux基础命令之sed
什么是sed? sed是一个流编辑器,英文全名为stream editor,流的意思就是能处理文件或者通过管 道传输来的数据.主要针对行,也就是行编辑.默认是不编辑文件的,处理时,把当前 ...
- Git和Github入门
推文:官方手册,十分详细 推文:git和github快速入门 一.git使用 1.git安装 (1)windows 网站:https://git-scm.com/download/win下载安装即可 ...
- Linux入门,这七大习惯得有!
对于很多Linux初学者来说,在刚开始使用Linux系统时会感到很多不适.这里为大家整理了自己以前Linux入门时别人告诉我的七个习惯.我相信如果你运用了这七个习惯,在你使用Linux时你会感觉更安全 ...
- 用nginx搭建简单的文件下载服务器
server { listen 80; #端口 server_name localhost; #服务名 charset utf-8; # ...
- Liunx常用命令(Mile)
记录一些平时经常用到的liunx命令,解决用过一段时间不用又忘记的问题.慢慢添加,持续更新~~~ 1.文件操作 a.zip.war包解压 war包 用的zip的方式压缩 ,也可以用的zip的 解压命令 ...
- Java并发编程原理与实战十六:AQS
一.概述 谈到并发,不得不谈ReentrantLock:而谈到ReentrantLock,不得不谈AbstractQueuedSynchronized(AQS)! 类如其名,抽象的队列式的同步器,AQ ...
- 关于mysql 5.7版本“报[Err] 1093 - You can't specify target table 'XXX' for update in FROM clause”错误的bug
不同于oracle和sqlserver,mysql并不支持在更新某个表的数据时又查询了它,而查询的数据又做了更新的条件,因此我们需要使用如下的语句绕过: , notice_code ) a) ; 本地 ...
- Dialog插件artDialog
经本人测试,发现没有layer好用,因为artDialog不能拖拽.不过除了拖拽,其他还蛮简洁的,在自定义上的灵活性也还可以.下面是我自己写的测试demo. <!DOCTYPE html> ...
- 一个JavaScript组件都需要哪些基础api
{ init: function() { // 模块初始化,包括属性初始化和配置初始化及调用父类的初始化方法 } ,build: function() { // 模块构建,包括子模块构建,dom构建, ...