Package org.gjt.sp.util
Class Log
- java.lang.Object
-
- org.gjt.sp.util.Log
-
public class Log extends java.lang.ObjectThis class provides methods for logging events. In terms of functionality, it is somewhere in betweenSystem.out.println()and full-blown logging packages such as log4j.All events are logged to an in-memory buffer and optionally a stream, and those with a high urgency (warnings and errors) are also printed to standard output.
Logging of exception tracebacks is supported.
This class can also optionally redirect standard output and error to the log, see
init(boolean, int).
-
-
Field Summary
Fields Modifier and Type Field Description static intDEBUGDebugging message urgency.static intERRORError urgency.static intMAXLINESThe maximum number of log messages that will be kept in memory.static intMESSAGEMessage urgency.static intNOTICENotice urgency.static java.util.List<java.lang.Throwable>throwablesstatic intWARNINGWarning urgency.
-
Constructor Summary
Constructors Constructor Description Log()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidcloseStream()Closes the log stream.static voidflushStream()Flushes the log stream.static booleangetBeepOnOutput()static javax.swing.ListModel<java.lang.String>getLogListModel()Returns the list model for viewing the log contents.static intgetMaxLinex()static voidinit(boolean stdio, int level)Initializes the log.static voidlog(int urgency, java.lang.Object source, java.lang.Object message)Logs a message.static voidlog(int urgency, java.lang.Object source, java.lang.Object message, java.lang.Throwable exception)Logs an exception with a message.static voidsetBeepOnOutput(boolean beepOnOutput)WhenbeepOnOutputis set, every output going to standard error is signaled by a standard beep.static voidsetLogWriter(java.io.Writer stream)Writes all currently logged messages to this stream if there was no stream set previously, and sets the stream to write future log messages to.static voidsetMaxLines(int newMax)
-
-
-
Field Detail
-
MAXLINES
public static int MAXLINES
The maximum number of log messages that will be kept in memory.- Since:
- jEdit 2.6pre5
-
DEBUG
public static final int DEBUG
Debugging message urgency. Should be used for messages only useful when debugging a problem.- Since:
- jEdit 2.2pre2
- See Also:
- Constant Field Values
-
MESSAGE
public static final int MESSAGE
Message urgency. Should be used for messages which give more detail than notices.- Since:
- jEdit 2.2pre2
- See Also:
- Constant Field Values
-
NOTICE
public static final int NOTICE
Notice urgency. Should be used for messages that directly affect the user.- Since:
- jEdit 2.2pre2
- See Also:
- Constant Field Values
-
WARNING
public static final int WARNING
Warning urgency. Should be used for messages that warrant attention.- Since:
- jEdit 2.2pre2
- See Also:
- Constant Field Values
-
ERROR
public static final int ERROR
Error urgency. Should be used for messages that signal a failure.- Since:
- jEdit 2.2pre2
- See Also:
- Constant Field Values
-
throwables
public static final java.util.List<java.lang.Throwable> throwables
-
-
Method Detail
-
init
public static void init(boolean stdio, int level)Initializes the log.- Parameters:
stdio- If true, standard output and error will be intercepted and sent to the log. Theurgencyfor these implicit log entries isNOTICEandERRORaccordingly. Note that in such a situationSystem.out.print()calls will not appear on standard output, if default output level is higher thanNOTICE.level- Messages with this log level or higher will be printed to the system console.- Since:
- jEdit 3.2pre4
-
setLogWriter
public static void setLogWriter(java.io.Writer stream)
Writes all currently logged messages to this stream if there was no stream set previously, and sets the stream to write future log messages to.- Parameters:
stream- The writer- Since:
- jEdit 3.2pre4
-
getBeepOnOutput
public static boolean getBeepOnOutput()
- Since:
- jEdit 5.1pre1
-
setBeepOnOutput
public static void setBeepOnOutput(boolean beepOnOutput)
WhenbeepOnOutputis set, every output going to standard error is signaled by a standard beep. This is intended for debugging purposes, to allow for immediate problem detection.- Since:
- jEdit 5.1pre1
-
setMaxLines
public static void setMaxLines(int newMax)
-
getMaxLinex
public static int getMaxLinex()
-
flushStream
public static void flushStream()
Flushes the log stream.- Since:
- jEdit 2.6pre5
-
closeStream
public static void closeStream()
Closes the log stream. Should be done before your program exits.- Since:
- jEdit 2.6pre5
-
getLogListModel
public static javax.swing.ListModel<java.lang.String> getLogListModel()
Returns the list model for viewing the log contents.- Since:
- jEdit 4.2pre1
-
log
public static void log(int urgency, java.lang.Object source, java.lang.Object message, java.lang.Throwable exception)Logs an exception with a message. If an exception is the cause of a call tolog, then the exception should be explicitly provided so that it can be presented to the (debugging) user in a useful manner (not just the exception message, but also the exception stack trace)- Since:
- jEdit 4.3pre5
-
log
public static void log(int urgency, java.lang.Object source, java.lang.Object message)Logs a message. This method is thread-safe.The following code sends a typical debugging message to the activity log:
Log.log(Log.DEBUG,this,"counter = " + counter);
The corresponding activity log entry might read as follows:[debug] JavaParser: counter = 15
- Parameters:
urgency- The urgency; can be one ofLog.DEBUG,Log.MESSAGE,Log.NOTICE,Log.WARNING, orLog.ERROR.source- The source of the message, either an object or a class instance. When writing log messages from macros, set this parameter toBeanShell.classto make macro errors easier to spot in the activity log.message- The message. This can either be a string or an exception- Since:
- jEdit 2.2pre2
-
-