Initializing log4j for a stand alone application

java, log4j, logging

Solution

May need the following line:

# Set root logger level to INFO and appender to R.
log4j.rootLogger=INFO, R

The root logger is always available and does not have a name.

Since the version 1.2.7, log4j (with the `LogManager` class) looks for `log4j.xml` in the classpath first. If the `log4j.xml` not exists, then log4j (with the `LogManager` class) looks for `log4j.properties` in the classpath.

- Default Initialization Procedure

- LogManager xref

Problem

I'm a newbie to log4j. This is what I have . I have about 20 files in different packages in a STAND ALONE JAVA APPLICATION. I am trying to use and write log files. Following is my log4j.properties file which is in my class path: ``` log4j.appender.R = org.apache.log4j.DailyRollingFileAppender log4j.appender.R.File = /ParentFolder/ChildFolder/application.log log4j.appender.R.Append = true log4j.appender.R.DatePattern = '.'yyy-MM-dd log4j.appender.R.layout = org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %c{1} [%p] %m%n ``` Following is the code to initialize logging in my main method ``` final String LOG_FILE = "C:/eclipse_workspace/lib/log4j.properties"; Properties logProp = new Properties(); try { logProp.load(new FileInputStream (LOG_FILE)); PropertyConfigurator.configure(logProperties); logger.info("Logging enabled"); } catch(IOException e) { System.out.println("Logging not enabled"); } ``` In every java class of the application I have the following code ``` import org.apache.log4j.*; private static final Logger logger = Logger.getLogger(TheActualClassName.class); ``` But I get the following warning messages when I run the app. log4j:WARN No appenders could be found for logger (com.xxx.myApp.MainProgram.MyFileName). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. What am I doing wrong?? The log file "application.log" is not being generated

Original source