Java 为程序创建日志系统
使用JAVA创建日志系统有两种方法
1.使用log4j操作日志文件
2.使用系统重定向输出日志信息
方法1:使用log4j操作日志文件(可使用jar或者xml)
步骤1:下载log4j.jar
下载地址:http://mirrors.hust.edu.cn/apache/logging/log4j/1.2.17/log4j-1.2.17.zip
步骤2:导入log4j.jar
1.在当前工程处右键》new(新建)》Folder(文件夹)<没找到的话选Other》wizards》输出Folder>》Library(文件夹的名字)
2.Library文件夹处放入刚才下在的log4j-1.2.17.zip里面的log4j-1.2.17.jar
3.捆绑Library(右键Library》Build Path》ADD to Bulid Path)
步骤3:配置log4j.properties
1.在当前工程处右键》new(新建)》File(文件)》File Name(文件名)》设置为log4j.properties
2.为log4j.properties添加配置信息
### 设置Logger输出级别和输出目的地 ###
log4j.rootLogger=debug,stdout,logfile ### 把日子输出到控制台 ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout ### 把日志信息输出到文件 ###
### 设置输出路径 jbit.log(jbit可以随意改后缀.log) ###
log4j.appender.logfile.File=jbit.log
### 设置配置文件 ###
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %F %p %m%n
步骤4:新建日志文件
在当前工程处右键》new(新建)》File(文件)》File Name(文件名)》设置为LogFile.log
步骤5:在所需的导出日志的Class添加以下代码即可实现导出日志信息功能
.
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
/**
测试代码
*/
public class Log4JTest {
//关键代码1:创建日志对象
private static Logger logger =Logger.getLogger(Log4JTest.class.getName());
public static void main(String[] args) {
//关键代码2:设置log4j配置文件
PropertyConfigurator.configure( "log4j.properties" );
try {
throw new Exception("输出信息错误!");
}catch(Exception e) {
logger.error(e.getMessage());
}
} }
方法2:使用系统重定向输出日志信息
步骤1:创建PrintStream对象
步骤2:设置您要输出的System输出格式
系统输出格式有2种(System.setErr(PrintStream err)和System.setOut(PrintStream Out))
一种是输出错误信息,一种是输出普通打印信息
步骤3:实现以下代码即可输出日志信息
import java.io.FileOutputStream;
import java.io.PrintStream; /**
* 测试重定向标准I/O流
* @author Administrator
*
*/
public class RedirectionOutputStreamTest {
public static void main(String[] args) throws Exception {
//创建PrintStream对象
PrintStream ps= new PrintStream(new FileOutputStream("jbit.log"));
//设置输出信息格式(普通信息输出or错误信息输出)
System.setErr(ps);
try {
throw new Exception("非法操作!!!");
}catch(Exception e) {
System.err.println(e.getMessage());
}
} }
Java 为程序创建日志系统的更多相关文章
- 如何通过Java应用程序创建Word表格
表格,又称为表,既是一种可视化交流模式,又是一种组织整理数据的手段.人们在通讯交流.科学研究以及数据分析活动当中广泛采用着形形色色的表格.那么如何通过Java应用程序创建Word表格呢?别担心,本文将 ...
- 操作实践:Java桌面程序实现日志级别热修改
声明:迁移自本人CSDN博客https://blog.csdn.net/u013365635 定位问题的时候往往需要动态修改日志级别并且不能影响业务的正常运行,也就是不能重启应用,此时就要使用到动态日 ...
- 2.1 自定义日志系统-log4net
说明 Prism中如果把日志级别设定为DEBUG,会显示框架加载信息 Prism默认是没有日志系统的 步骤 下载log4net包 Install-Package log4net; 在app.confi ...
- 面试题:应用中很多jar包,比如spring、mybatis、redis等等,各自用的日志系统各异,怎么用slf4j统一输出?(上)
一.问题概述 如题所说,后端应用(非spring boot项目)通常用到了很多jar包,比如spring系列.mybatis.hibernate.各类连接数据库的客户端的jar包.可能这个jar包用的 ...
- IntelliJ IDEA 运行你的第一个Java应用程序
IntelliJ IDEA 运行你的第一个Java应用程序创建项目让我们创建一个简单的Java Hello World项目. 单击创建新的项目. 打开新建项目向导.你应该注意的主要是项目的SDK.SD ...
- IntelliJ IDEA 运行你的第一个Java应用程序 idea运行main方法
IntelliJ IDEA 运行你的第一个Java应用程序创建项目让我们创建一个简单的Java Hello World项目. 单击创建新的项目. 打开新建项目向导.你应该注意的主要是项目的SDK.SD ...
- Java日志系统框架的设计与实现
推荐一篇好的文章介绍java日志系统框架的设计的文章:http://soft.chinabyte.com/database/438/11321938.shtml 文章内容总结: 日志系统对跟踪调试.程 ...
- Android应用程序框架层和系统运行库层日志系统源代码分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6598703 在开发Android应用程序时,少 ...
- WCF 项目应用连载[2] - 创建Lig日志系统
WCF 项目应用连载[1] - 索引 - 轻量级的Log系统 - Lig Sample -序 现在我们创建一个Lig工程 - Litelog 2.1 创建Lig服务 _________________ ...
随机推荐
- LeetCode:递增的三元子序列【334】
LeetCode:递增的三元子序列[334] 题目描述 给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列. 数学表达式如下: 如果存在这样的 i, j, k, 且满足 0 ≤ i ...
- Java基础教程:多线程基础(2)——线程间的通信
Java基础教程:多线程基础(2)——线程间的通信 使线程间进行通信后,系统之间的交互性会更强大,在大大提高CPU利用率的同时还会使程序员对各线程任务在处理的过程中进行有效的把控与监督. 线程间的通信 ...
- JAVA各版本更新特性1-8
JAVA各版本更新特性1-8 原文地址 Java Versions, Features and History This article gives you a highlight of import ...
- 关于Dubbo
什么是Dubbo 一款分布式服务框架 高性能和透明化的RPC远程服务调用方案 SOA服务治理方案 每天为2千多个服务提供大于30亿次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点以及别的公司的业务 ...
- python日期格式化符号
python中时间日期格式化符号: %y 两位数的年份表示(00-99) %Y 四位数的年份表示(000-9999) %m 月份(01-12) %d 月内中的一天(0-31) %H 24小时制小时数( ...
- fiddler篡改请求数据
有时需要修改请求或返回结果来验证网站存在的漏洞,因此需要使用到fiddler的断点功能. 如何修改请求前数据? 1.设置请求前断点 Rules--Automatic breakpoints--befo ...
- numpy中的tile函数
tile()函数可以很方便的生成多维数组.它有两个参数,第一个数是原始数组;第二个表示如何来生成,第一个数字表示生成几行,第二个表示每行有多少个原始数组(如果只写一个数字,那么就默认是一行). fro ...
- Educational Codeforces Round 17 颓废记
又被虐了... (记一次惨痛的Codeforces) 好不容易登上去了Codeforces,22:35准时开打 第一题,一看:这不SB题嘛?直接枚举因数上啊.9min才过掉了pretest 第二题.. ...
- codevs 3314 魔法森林
传送门 3314 魔法森林 时间限制: 3 s 空间限制: 256000 KB 题目等级 : 大师 Master 题解 题目描述 Description 为了得到书法大家的真传,小E同学下定 ...
- Ubuntu下Apache重启错误:Could not reliably determine解决
错误信息:apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 ...