使用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 为程序创建日志系统的更多相关文章

  1. 如何通过Java应用程序创建Word表格

    表格,又称为表,既是一种可视化交流模式,又是一种组织整理数据的手段.人们在通讯交流.科学研究以及数据分析活动当中广泛采用着形形色色的表格.那么如何通过Java应用程序创建Word表格呢?别担心,本文将 ...

  2. 操作实践:Java桌面程序实现日志级别热修改

    声明:迁移自本人CSDN博客https://blog.csdn.net/u013365635 定位问题的时候往往需要动态修改日志级别并且不能影响业务的正常运行,也就是不能重启应用,此时就要使用到动态日 ...

  3. 2.1 自定义日志系统-log4net

    说明 Prism中如果把日志级别设定为DEBUG,会显示框架加载信息 Prism默认是没有日志系统的 步骤 下载log4net包 Install-Package log4net; 在app.confi ...

  4. 面试题:应用中很多jar包,比如spring、mybatis、redis等等,各自用的日志系统各异,怎么用slf4j统一输出?(上)

    一.问题概述 如题所说,后端应用(非spring boot项目)通常用到了很多jar包,比如spring系列.mybatis.hibernate.各类连接数据库的客户端的jar包.可能这个jar包用的 ...

  5. IntelliJ IDEA 运行你的第一个Java应用程序

    IntelliJ IDEA 运行你的第一个Java应用程序创建项目让我们创建一个简单的Java Hello World项目. 单击创建新的项目. 打开新建项目向导.你应该注意的主要是项目的SDK.SD ...

  6. IntelliJ IDEA 运行你的第一个Java应用程序 idea运行main方法

    IntelliJ IDEA 运行你的第一个Java应用程序创建项目让我们创建一个简单的Java Hello World项目. 单击创建新的项目. 打开新建项目向导.你应该注意的主要是项目的SDK.SD ...

  7. Java日志系统框架的设计与实现

    推荐一篇好的文章介绍java日志系统框架的设计的文章:http://soft.chinabyte.com/database/438/11321938.shtml 文章内容总结: 日志系统对跟踪调试.程 ...

  8. Android应用程序框架层和系统运行库层日志系统源代码分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6598703 在开发Android应用程序时,少 ...

  9. WCF 项目应用连载[2] - 创建Lig日志系统

    WCF 项目应用连载[1] - 索引 - 轻量级的Log系统 - Lig Sample -序 现在我们创建一个Lig工程 - Litelog 2.1 创建Lig服务 _________________ ...

随机推荐

  1. Linux学习之路(二)文件处理命令之上

    文件处理命令 1.目录处理命令 2.文件处理命令 3.链接命令 1.目录处理命令 建立目录:mkdirmkdir -p [目录名]-p 递归创建命令英文原意 : make directories 切换 ...

  2. static语句块的执行时间

    package utfTest; public class Test01 { public static void main(String[] args) { //Person.show(); Sys ...

  3. swoole的http服务

    PHP实现基于Swoole简单的HTTP服务器 引用Swoole官方定义: PHP语言的异步.并行.高性能网络通信框架,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户 ...

  4. linux进程学习笔记

    学习了linux下的进程,觉得应该整理一下,忘得差不多了,顺便回顾一下. 学而时习之,不亦说乎~~ 进程笔记 ,什么是进程? The Single UNIX Specification, Versio ...

  5. UOJ_21_【UR #1】缩进优化_数学

    UOJ_21_[UR #1]缩进优化_数学 题面:http://uoj.ac/problem/21 最小化$\sum\limits{i=1}^{n}a[i]/x+a[i]\;mod\;x$ =$\su ...

  6. jQuery 验证 Validation

    jQuery Validation 目录 简介: Form validation made easy. Validate a simple comment form with inline rules ...

  7. 如何让Surface RT支持网站的flash

    Go to the desktop version of IE10, hit the click ALT button on your keyboard, click on and then Comp ...

  8. Linq 支持动态字查询集合, 也就是说根据传入的值进行查询。

    Linq 支持动态字查询集合, 也就是说根据传入的值进行查询. 比如我们有个类Patient, 其中有个字段PatientName, 现在有Patient集合, 想要查询PatientName为&qu ...

  9. APNS消息推送实现

    转自:http://blog.csdn.net/biaobiaoqi/article/details/8058503 一.消息推送原理: 在实现消息推送之前先提及几个于推送相关概念,如下图1-1: 1 ...

  10. iView之select获取value和label

    使用:label-in-value="true" @on-change="obtainValue" 详见官方文档:https://www.iviewui.com ...