您的位置:

javalog日志,log日志记录

本文目录一览:

java log打印的日志会在控制台输出吗

会的啊

编写log4j.properties文件,配置日志信息

### 把日志信息输出到控制台 ###

log4j.appender.stdout=org.apache.log4j.ConsoleAppender//日志信息将写到控制台

log4j.appender.stdout.Target=System.out//信息打印到System.out上

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m%n//指定输出格式:显示日期和log信息

### 把日志信息输出到文件:accp.log ###

log4j.appender.file=org.apache.log4j.FileAppender//日志信息将写到文件中

log4j.appender.file.File=accp.log//指定日志输出的文件名

log4j.appender.file.layout=org.apache.log4j.PatternLayout

log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %m%n//指定输出格式:显示日期,日志发生位置和日志信息

### 设置优先级别、以及输出源 ###

log4j.rootLogger=debug, stdout, file//设置优先级别为debug、

日志被输出到多个输出源

注:优先级从高到低分别是ERROR、WARN、INFO、DEBUG

在此处,如果优先级别设为info,那么使用debug方法打印的日志信息将不被输出

java 创建一个log日志

 这是以前在网上看到关于处理log日志的一段代码,一起学习吧。

至于存到数据库,那就得再打开log日志找到所需要的信息做操作了。

import java.util.logging.*;

import java.io.*;

public class MemoryHandlerTest {

 FileHandler fhandler;

 Logger logger;

 MemoryHandler mhandler;

 MemoryHandlerTest() {

  try {

   fhandler = new FileHandler("my.log");

   int numRec = 5;

   mhandler = new MemoryHandler(fhandler, numRec, Level.OFF);

   logger = Logger.getLogger("com.mycompany");

   logger.addHandler(mhandler);

  } catch (IOException e) {

  }

 }

 public static void main(String args[]) {

  MemoryHandlerTest mt = new MemoryHandlerTest();

  int trigger = (int) (Math.random() * 100);

  for (int i = 1; i  100; i++) {

   mt.logger.log(Level.INFO, "日志记录" + i);

   if (i == trigger) {

    mt.mhandler.push();

    break;

   }

  }

 }

}

java log日志的问题

首先,配置成每天生成的话,.log文件的路径是不会改变的,比如,日志文件是log.log,那么这个文件在第二天会被备份为2013-01-07.log,但是同时会再生成一个log.log文件,所以不会影响你的路径

其次,如果这个日志文件一直被系统在添加日志的话,那么该文件应该是被加锁的,其他程序只能读不能修改和删除,所以如果该情况下你一定要隔几天清空一次,一是修改生成日志的系统,让其定时清除日志文件内容,二是写脚本或程序,先停掉系统,再清空日志,然后重启系统。这种方法,不建议采用。

强烈建议,采用第一种方法,然后修改你的读取日志的程序,每天读取一下前一天生成的日志文件内容就可以了,因为备份文件是用日期命名的,利用这个规律,很容易就可以获取到要读取的文件名了