Article Preview
TopSince Java has been adopted to implement LAKE, in the section as to related logging tools, we only introduce those tools written with or for Java language. However, our discussions could be easily generalized since other programming languages have similar or comparable logging tools and principles.
There have been a various Java logging frameworks and toolsets (“Log4j,” 2012; “Simple Logging Facade for Java (SLF4J),” 2004; “Java logging framework,” 2013) which are similar in terms of functionality and share some common designs. Logging is logically broken into three major pieces, though a simpler logging framework may combine multiples of them into one: loggers, which provides an interface for application to send log commands, formatters, which, as its name suggests, organize information into designated format, and appenders, which determine where the information is saved. Loggers are often bundled to Java classes and implemented in the thread-safe (Goetz, 2010) manner. Formatters often add timestamp and class names to the message to be logged. Normally a log is written to hard disk. However, it can be inserted into a database or sent out to designated recipients as through emails. Typically, a logging framework gives programmers flexibility to configure what classes they want to log, how the information will look like, how much information they want to log, etc., without modifying and recompiling the source code; only a textual configuration file needs to be edited.