使用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添加配置信息
1 ### 设置Logger输出级别和输出目的地 ### 2 log4j.rootLogger=debug,stdout,logfile 3 4 ### 把日子输出到控制台 ### 5 log4j.appender.stdout=org.apache.log4j.ConsoleAppender 6 log4j.appender.stdout.Target=System.err 7 log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout 8 9 ### 把日志信息输出到文件 ### 10 ### 设置输出路径 jbit.log(jbit可以随意改后缀.log) ### 11 log4j.appender.logfile.File=jbit.log 12 ### 设置配置文件 ### 13 log4j.appender.logfile=org.apache.log4j.FileAppender 14 log4j.appender.logfile.layout=org.apache.log4j.PatternLayout 15 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:实现以下代码即可输出日志信息
1 import java.io.FileOutputStream; 2 import java.io.PrintStream; 3 4 /** 5 * 测试重定向标准I/O流 6 * @author Administrator 7 * 8 */ 9 public class RedirectionOutputStreamTest { 10 public static void main(String[] args) throws Exception { 11 //创建PrintStream对象 12 PrintStream ps= new PrintStream(new FileOutputStream("jbit.log")); 13 //设置输出信息格式(普通信息输出or错误信息输出) 14 System.setErr(ps); 15 try { 16 throw new Exception("非法操作!!!"); 17 }catch(Exception e) { 18 System.err.println(e.getMessage()); 19 } 20 } 21 22 }