Mahesh
Mahesh

Reputation: 1099

slf4j logging issue - log file not getting generated

I am using slf4j over java util logging. I am trying to place logging.properties file so that it will picked up by my webapp. The following is how my logging.properties file look like:

# Logging
handlers = java.util.logging.FileHandler, java.util.logging.ConsoleHandler
.level = ALL

# File Logging
java.util.logging.FileHandler.pattern = c:/logs/myApp.log
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.FileHandler.level = FINE

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

com.foo.bar.level=ALL

I am NOT doing -Djava.util.logging.config.file="file_path/logging.properties. Instead I have put the logging.properties in my WEB-INF/classes and included this folder as a class folder in eclipse. I dont know if this is sufficient for things to work.

The log file myApp.log is not getting generated nor any logging happens in it. But anyways, the logging still occurs on the Eclipse console.

I suspect it is not taking this logging.properties file at all. But then I tried a suggestion from the posting - Java Logging - where is my log file? - I can see that it prints the file path with file name.

I will appreciate if some help can be provided in this regard.

NOTE: I am using slf4j over java util logging.

Upvotes: 0

Views: 3876

Answers (3)

30thh
30thh

Reputation: 11396

JUL property file is never loaded from the classpath of the application classloader. The classes of the JUL are loaded in the context of the system classloader. The classpath of you application is unknown on this level. Therefore you need to specify the file location manually as:

-Djava.util.logging.config.file=<location>

The default location is lib/logging.properties inside the JRE directory.

Here is a useful link about classloader hierarchy of the WebLogic:

https://docs.oracle.com/en/middleware/fusion-middleware/weblogic-server/12.2.1.4/wlprg/classloading.html#GUID-7932D476-4282-462E-AF84-0EAD3CD97021

Upvotes: 0

Mahesh
Mahesh

Reputation: 1099

Fixed the problem. Had to set -Djava.util.logging.config.file= "pathto\WEB-INF\classes\logging.properties in Arguments tab - Open Server->Open Launch Configuration in Eclipse

Upvotes: 1

foch
foch

Reputation: 1059

Don't use an absolute path for your log fine. Instead, just write :

# File Logging
java.util.logging.FileHandler.pattern = myApp.log

Then you can look for myApp.log with a file search tool, and use a relative path based on the default path you will find.

Upvotes: 0

Related Questions