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
Modifier and TypeFieldDescriptionstatic final int
Debugging message urgency.static final int
Error urgency.static int
The maximum number of log messages that will be kept in memory.static final int
Message urgency.static final int
Notice urgency.static final int
Warning urgency. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
Closes the log stream.static void
Flushes the log stream.static boolean
Returns the list model for viewing the log contents.static int
static void
init
(boolean stdio, int level) Initializes the log.static void
Logs a message.static void
Logs an exception with a message.static void
setBeepOnOutput
(boolean beepOnOutput) WhenbeepOnOutput
is set, every output going to standard error is signaled by a standard beep.static void
setLogWriter
(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 void
setMaxLines
(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. Theurgency
for these implicit log entries isNOTICE
andERROR
accordingly. 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) WhenbeepOnOutput
is 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.class
to 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
-