Java Logging - where is my log file?

前端 未结 7 791
隐瞒了意图╮
隐瞒了意图╮ 2021-01-01 11:47

I\'m having trouble finding my log files.

I\'m using Java Logging - java.util.logging - in Eclipse 3.7.1 on Windows XP. The relevant lines of my

相关标签:
7条回答
  • 2021-01-01 11:48

    Location of log file can be control through logging.properties file. And it can be passed as JVM parameter ex : java -Djava.util.logging.config.file=/scratch/user/config/logging.properties

    Details: https://docs.oracle.com/cd/E23549_01/doc.1111/e14568/handler.htm

    Configuring the File handler

    To send logs to a file, add FileHandler to the handlers property in the logging.properties file. This will enable file logging globally.

    handlers= java.util.logging.FileHandler
    

    Configure the handler by setting the following properties:

    java.util.logging.FileHandler.pattern=<home directory>/logs/oaam.log
    java.util.logging.FileHandler.limit=50000
    java.util.logging.FileHandler.count=1
    java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
    

    java.util.logging.FileHandler.pattern specifies the location and pattern of the output file. The default setting is your home directory.

    java.util.logging.FileHandler.limit specifies, in bytes, the maximum amount that the logger writes to any one file.

    java.util.logging.FileHandler.count specifies how many output files to cycle through.

    java.util.logging.FileHandler.formatter specifies the java.util.logging formatter class that the file handler class uses to format the log messages. SimpleFormatter writes brief "human-readable" summaries of log records.

    To instruct java to use this configuration file instead of $JDK_HOME/jre/lib/logging.properties:

    java -Djava.util.logging.config.file=/scratch/user/config/logging.properties
    
    0 讨论(0)
  • 2021-01-01 11:49

    The root cause of the problem the questioner is having is that his logging.properties file is not being read.
    The file specified in java.util.logging.config.file is not read from the classpath. Instead it is read from the file system relative the current directory.
    For example, running the following command java -Djava.util.logging.config.file=smclient-logging.properties SMMain will read the smclient-logging.properties from the current directory. Once the correct java.util.logging.config.file is read, the logs are generated as specified in the file.

    0 讨论(0)
  • 2021-01-01 11:59

    Where is your logging.properties file located? It should be available in the root of the classpath. As a sanity check, what does the following code print?

    System.out.println(getClass().getClassLoader().getResource("logging.properties"));
    

    If the code is in a static context, use

    System.out.println(ClassName.class.getClassLoader().getResource("logging.properties"));
    
    0 讨论(0)
  • 2021-01-01 12:03
    1. Debug the your variable or logger.getHandlers(): just for the instances of FileHandler, and look for its private field: files
    2. Make sure that your logger level including your log.
    3. Make sure that your handler level including your log.
    4. It will be sent to your home directory. If there's no that directory in your operate system, such as windows 95/98/ME, the file should be saved to the default path like C:\Windows\.
    5. Reflect, the same as tip 1

      Field[] handlerFiles = handler.getClass().getDeclaredFields();
      AccessibleObject.setAccessible(handlerFiles, true);
      
      for (Field field : handlerFiles) {
          if (field.getName().equals("files")) {
              File[] files = (File[]) field.get(handler);
              System.out.println(Arrays.toString(files));
          }
      }
      
    6. The log manager will be initialized during JVM startup and completed before the main method. You can also re-initialize it in main method with System.setProperty("java.util.logging.config.file", file), which will call LogManager.readConfiguration().

    0 讨论(0)
  • 2021-01-01 12:10

    If its null, then the file path would be your eclipse home directory. Your logging.properties file is not raken by the system, so point the properties file to the complete path as shown below then your log file will be generated in the place of directlyr where yor prefers it. -Djava.util.logging.config.file=D:\keplereclipse\keplerws\NFCInvoicingProject\WebContent\WEB-INF\logging.properties

    0 讨论(0)
  • 2021-01-01 12:14

    The .log file is in your \workspace\.metadata folder. I'm using Eclipse 4.2.

    0 讨论(0)
提交回复
热议问题