java.lang.Object
org.gjt.sp.util.Log
This class provides methods for logging events. In terms of functionality,
it is somewhere in between
System.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).
- Version:
- $Id: Log.java 25123 2020-04-04 22:40:51Z kpouer $
- Author:
- Slava Pestov
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intDebugging message urgency.static final intError urgency.static intThe maximum number of log messages that will be kept in memory.static final intMessage urgency.static final intNotice urgency.static final intWarning urgency. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidCloses the log stream.static voidFlushes the log stream.static booleanReturns the list model for viewing the log contents.static intstatic voidinit(boolean stdio, int level) Initializes the log.static voidLogs a message.static voidLogs 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(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 Details
-
MAXLINES
public static int MAXLINESThe maximum number of log messages that will be kept in memory.- Since:
- jEdit 2.6pre5
-
DEBUG
public static final int DEBUGDebugging message urgency. Should be used for messages only useful when debugging a problem.- Since:
- jEdit 2.2pre2
- See Also:
-
MESSAGE
public static final int MESSAGEMessage urgency. Should be used for messages which give more detail than notices.- Since:
- jEdit 2.2pre2
- See Also:
-
NOTICE
public static final int NOTICENotice urgency. Should be used for messages that directly affect the user.- Since:
- jEdit 2.2pre2
- See Also:
-
WARNING
public static final int WARNINGWarning urgency. Should be used for messages that warrant attention.- Since:
- jEdit 2.2pre2
- See Also:
-
ERROR
public static final int ERRORError urgency. Should be used for messages that signal a failure.- Since:
- jEdit 2.2pre2
- See Also:
-
throwables
-
-
Constructor Details
-
Log
public Log()
-
-
Method Details
-
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
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
Returns the list model for viewing the log contents.- Since:
- jEdit 4.2pre1
-
log
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
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
-