Hi Ashish,

It does have timestamp, log level, thread name etc.  though we do not use the 
level appropriately at some places.
Here is a sample log line:
2014-07-04 09:00:19,456 WARN  [o.a.c.f.j.AsyncJobExecutionContext] 
(StatsCollector-3:ctx-0090dd87) Job is executed without a context, setup psudo 
job for the executing thread

We use log4j for logging with a conversion pattern of %d{ISO8601} %-5p [%c{1.}] 
(%t:%x) %m%n
description about the pattern can be found here 
https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html


~Rajani



On 06-Jul-2014, at 11:53 am, Ashish Sureka 
<ash...@iiitd.ac.in<mailto:ash...@iiitd.ac.in>> wrote:

We [Professor and PhD Student in Software Engineering at a State University
in India] are working towards a source code analysis tool which can assist
practitioners in writing effecting log statements. There are more than
10000 log statements in CloudStack (s_logger.error, s_logger.warn,
s_logger.trace, s_logger.info……………….)


The focus of this email is on format and consistency of log statements. We
analyzed all the log statements and observe that the log statements prints
a message and variable(s).  However it does not print the log level,
timestamp and thread-name. I believe you agree with me that - Information
like timestamp [Date date= new Date(); new Timestamp(date.getTime())] and
thread-name [Thread.currentThread().getName()] is useful for diagnosing
production failure and root-cause analysis. It is also useful in studying
patterns and trends. We have the following questions:


1)      Why log-level, timestamp and thread-name is not logged.

2)      How important (different people may have different opinion) is
Point 1 (mentioning log-level, timestamp and thread-name)

3)      Is there a standard guideline for developers for writing log
statements – which CloudStack developers need to follow

4)      Do you use any log-analysis tool? How are logs analyzed (visual
inspection, home-grown tool/program, external open-source/commercial tool)?

5)      CloudStack can be used in a multi-threaded environment and I am not
clear why the thread name is not printed

Thanks in advance and appreciate it. We want to build a tool (not just
about format and consistency) that will be practically useful to
practitioners and will make it open-source & publicly available. This is
part of an academic/research study and hence request a response to all
questions.


Thanks and Regards,


Ashish and Sangeeta

--
Ashish Sureka : [Homepage http://www.iiitd.edu.in/~ashish/ ] , [Blog :
http://ashish-sureka-delhi.blogspot.in/ ]

Reply via email to