1 package gov.nist.core;
2 
3 import java.util.Properties;
4 
5 
6 /**
7  * interface that loggers should implement so that the stack can log to various
8  * loggers impl such as log4j, commons logging, sl4j, ...
9  * @author jean.deruelle@gmail.com
10  *
11  */
12 public interface StackLogger extends LogLevels {
13 
14     /**
15      * log a stack trace. This helps to look at the stack frame.
16      */
logStackTrace()17 	public void logStackTrace();
18 
19 	/**
20 	 * Log a stack trace if the current logging level exceeds
21 	 * given trace level.
22 	 * @param traceLevel
23 	 */
logStackTrace(int traceLevel)24 	public void logStackTrace(int traceLevel);
25 
26 	/**
27      * Get the line count in the log stream.
28      *
29      * @return
30      */
getLineCount()31 	public int getLineCount();
32 
33 	/**
34      * Log an exception.
35      *
36      * @param ex
37      */
logException(Throwable ex)38     public void logException(Throwable ex);
39     /**
40      * Log a message into the log file.
41      *
42      * @param message
43      *            message to log into the log file.
44      */
logDebug(String message)45     public void logDebug(String message);
46     /**
47      * Log a message into the log file.
48      *
49      * @param message
50      *            message to log into the log file.
51      */
logTrace(String message)52     public void logTrace(String message);
53     /**
54      * Log an error message.
55      *
56      * @param message --
57      *            error message to log.
58      */
logFatalError(String message)59     public void logFatalError(String message);
60     /**
61      * Log an error message.
62      *
63      * @param message --
64      *            error message to log.
65      *
66      */
logError(String message)67     public void logError(String message);
68     /**
69      * @return flag to indicate if logging is enabled.
70      */
isLoggingEnabled()71     public boolean isLoggingEnabled();
72     /**
73      * Return true/false if loging is enabled at a given level.
74      *
75      * @param logLevel
76      */
isLoggingEnabled(int logLevel)77     public boolean isLoggingEnabled(int logLevel);
78     /**
79      * Log an error message.
80      *
81      * @param message
82      * @param ex
83      */
logError(String message, Exception ex)84     public void logError(String message, Exception ex);
85     /**
86      * Log a warning mesasge.
87      *
88      * @param string
89      */
logWarning(String string)90     public void logWarning(String string);
91     /**
92      * Log an info message.
93      *
94      * @param string
95      */
logInfo(String string)96     public void logInfo(String string);
97 
98 
99     /**
100      * Disable logging altogether.
101      *
102      */
disableLogging()103     public void disableLogging();
104 
105     /**
106      * Enable logging (globally).
107      */
enableLogging()108     public void enableLogging();
109 
110     /**
111      * Set the build time stamp. This is logged into the logging stream.
112      */
setBuildTimeStamp(String buildTimeStamp)113     public void setBuildTimeStamp(String buildTimeStamp);
114 
115     /**
116      * Stack creation properties.
117      * @param stackProperties
118      */
119 
setStackProperties(Properties stackProperties)120     public void setStackProperties(Properties stackProperties);
121 
122     /**
123      * The category for the logger.
124      * @return
125      */
getLoggerName()126     public String getLoggerName();
127 
128 
129 
130 }
131