Prepare Interview

Exams Attended

Mock Exams

Make Homepage

Bookmark this page

Subscribe Email Address

Log4j Interview Questions and Answers

Experienced / Expert level questions & answers

Ques 1. How do you define logging for your application?

To define logging for your application, you have to download the log4j framework (log4j.jar) from the apache site.
Once log4j jars are downloaded, make sure that these jars are in classpath of your application. lets say you have web-application need to be added log4j. In this case, log4j jars are copied to WEB-INF/lib folder of your web application.
create new file either logging.properties or log4j.xml which will be copied to WEB-INF/classes folder.
logging.properties/log4j.xml contains the all the configuration related to logging mechanism and logger level and package that you want to define logger level.


Example:
logging.properties:
logger.level=INFO
logger.handlers=CONSOLE,FILE,RejRec
handler.RejRec=org.jboss.logmanager.handlers.PeriodicRotatingFileHandler
handler.RejRec.level=WARN
handler.RejRec.formatter=RejRec
handler.RejRec.properties=append,autoFlush,enabled,suffix,fileName
handler.RejRec.append=true
handler.RejRec.autoFlush=true
handler.RejRec.enabled=true
handler.RejRec.suffix=.yyyy-MM-dd
handler.RejRec.fileName=E:\Docs\WithoutBook\DID\jboss-eap-6.2\standalone\log\RejectedRecords.log

log4j.xml:
<log4j:configuration>
<appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
        <appender-ref ref="LOG"/>
</appender>

<appender name="MEETING-APP-LOG" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="E:/Softwares/glassfish_dump/glassfish/domains/domain1/logs/meeting_app.log" />
<param name="Append" value="true"/> 
<param name="DatePattern" value="'.'yyyy-MM-dd-a"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd} %d{HH:mm:ss,SSS} %-5p [%t] %c - %m%n" />
</layout>
</appender>

  <logger name="com.withoutbook" additivity="false">
         <level value="warn"/>
         <appender-ref ref="MEETING-APP-LOG"/>
</logger>

     <root>
         <priority value="debug"/>
         <appender-ref ref="ASYNC"/>
         <appender-ref ref="ERROR-LOG"/>
</root>
</log4j:configuration>

Is it helpful? Add Comment View Comments
 

Ques 2. What are the other support objects in Log4j?

There are other support objects in the Log4j framework are:

  • Level Object
  • Filter Object
  • Object Renderer
  • Log Manager

Is it helpful? Add Comment View Comments
 

Ques 3. Explain whether log4j is a thread safe.

Log4j is a thread-safe, log4j components are built to be used in multithread systems.

Is it helpful? Add Comment View Comments
 

Ques 4. Explain whether a log output format can be customized.

Yes, you can extend the layout class to create your own customized log format. Appenders can be parameterized to use the layout of your choice.

Is it helpful? Add Comment View Comments
 

Ques 5. What are the system properties checked by log4j?

The system properties checked by log4j are

  • Log4j debug, if true, log4j will show internal debugging messages to the console
  • defaultInitOverride, if true, log4j will not execute default initialization
  • configuration, URL for default initialization configuration file
  • configurationClass, Class name for configurator to execute default initialization configuration file
  • ignoreTCL, if true, the thread class loader will be overlooked when loading classes

Is it helpful? Add Comment View Comments
 

Ques 6. What is the role of the filter in log4j?

Filter objects in log4j decide whether logging requests should be handled by a particular Appender or ignored.

Is it helpful? Add Comment View Comments
 

Ques 7. How can you get multiple processes to log into the same file?

You may have each process log to a socket Appender. The receiving socket server can receive all the events and send them to a single log file.

Is it helpful? Add Comment View Comments
 

Ques 8. What is the difference between Threshold and LevelRangeFilter in log4j?

Both Threshold and LevelRangeFilter do the same thing.

However, the threshold should be faster. Filters enable you to implement your own logic, and you can also link them together if required. If you need a basic threshold functionality, then the “threshold” function will be enough.

Is it helpful? Add Comment View Comments
 

Ques 9. What are the format characters used in log4j?

The format characters used in log4j are

  • L – it is used to output the line number from where the logging request was processed or issued
  • m – It is used to output the application-supplied message related to the logging event
  • p – It is used to output the priority of the logging event
  • C – It is used to output the class name of the caller issuing the logging request

When any number is used along with the character it means the priority of the logging event should be justified to a width of 4 characters.

Is it helpful? Add Comment View Comments
 

Ques 10. Mention what is the best way to migrate from java.util logging to apache log4j?

The best way to migrate from java.util logged to log4j is to use the global file search/replace method.  It will replace with “org.apache.log4j.Logger”.

Then verify the project with the build.

Is it helpful? Add Comment View Comments
 

Ques 11. Why do you get multiple copies of the message in log file sometime?

There could be two reasons why this might happen:

  • Repeated configuration of log4j
  • Attaching the same appenders to multiple loggers

Is it helpful? Add Comment View Comments
 

Most helpful rated by users:

Related interview subjects

JUnit interview questions and answers - Total 24 questions
Spring Framework interview questions and answers - Total 53 questions
Java Design Patterns interview questions and answers - Total 15 questions
Core Java interview questions and answers - Total 306 questions
Tomcat interview questions and answers - Total 16 questions
Apache Wicket interview questions and answers - Total 26 questions
Java Applet interview questions and answers - Total 29 questions
JAXB interview questions and answers - Total 18 questions
JMS interview questions and answers - Total 64 questions
Log4j interview questions and answers - Total 35 questions
Struts interview questions and answers - Total 84 questions
RMI interview questions and answers - Total 31 questions
Apache Camel interview questions and answers - Total 20 questions
JDBC interview questions and answers - Total 27 questions
Java 11 interview questions and answers - Total 24 questions
JPA interview questions and answers - Total 41 questions
EJB interview questions and answers - Total 80 questions
GWT interview questions and answers - Total 27 questions
Kotlin interview questions and answers - Total 30 questions
Glassfish interview questions and answers - Total 8 questions
Google Gson interview questions and answers - Total 8 questions
JSP interview questions and answers - Total 49 questions
J2EE interview questions and answers - Total 25 questions
Apache Tapestry interview questions and answers - Total 9 questions
Java Swing interview questions and answers - Total 27 questions
Java Mail interview questions and answers - Total 27 questions
Hibernate interview questions and answers - Total 52 questions
JSF interview questions and answers - Total 24 questions
Java 8 interview questions and answers - Total 30 questions
Java 15 interview questions and answers - Total 16 questions
JBoss interview questions and answers - Total 14 questions
Web Services interview questions and answers - Total 10 questions
RichFaces interview questions and answers - Total 26 questions
Servlets interview questions and answers - Total 34 questions
Java Beans interview questions and answers - Total 57 questions
Spring Boot interview questions and answers - Total 50 questions
©2023 WithoutBook