org.h2.message
Class TraceSystem

java.lang.Object
  extended by org.h2.message.TraceSystem

public class TraceSystem
extends java.lang.Object

The trace mechanism is the logging facility of this database. There is usually one trace system per database. It is called 'trace' because the term 'log' is already used in the database domain and means 'transaction log'. It is possible to write after close was called, but that means for each write the file will be opened and closed again (which is slower).


Field Summary
static int ADAPTER
          This trace level means all type of messages should be written, but instead of using the trace file the messages should be written to SLF4J.
static int DEBUG
          This trace level means all type of messages should be written.
static int DEFAULT_TRACE_LEVEL_FILE
          The default level for file trace messages.
static int DEFAULT_TRACE_LEVEL_SYSTEM_OUT
          The default level for system out trace messages.
static int ERROR
          This trace level means only errors should be written.
static int INFO
          This trace level means errors and informational messages should be written.
static int OFF
          This trace level means nothing should be written.
static int PARENT
          The parent trace level should be used.
 
Constructor Summary
TraceSystem(java.lang.String fileName)
          Create a new trace system object.
 
Method Summary
 void close()
          Close the writers, and the files if required.
protected  void finalize()
           
 Trace getTrace(java.lang.String module)
          Get or create a trace object for this module.
 boolean isEnabled(int level)
          Check the given trace / log level is enabled.
 void setFileName(java.lang.String name)
          Set the trace file name.
 void setLevelFile(int level)
          Set the file trace level.
 void setLevelSystemOut(int level)
          Set the trace level to use for System.out
 void setMaxFileSize(int max)
          Set the maximum trace file size in bytes.
 void setName(java.lang.String name)
          Set the name of the database or trace object.
static void traceThrowable(java.lang.Throwable e)
          Write the exception to the driver manager log writer if configured.
 void write(int level, java.lang.String module, java.lang.String s, java.lang.Throwable t)
          Write a message.
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PARENT

public static final int PARENT
The parent trace level should be used.

See Also:
Constant Field Values

OFF

public static final int OFF
This trace level means nothing should be written.

See Also:
Constant Field Values

ERROR

public static final int ERROR
This trace level means only errors should be written.

See Also:
Constant Field Values

INFO

public static final int INFO
This trace level means errors and informational messages should be written.

See Also:
Constant Field Values

DEBUG

public static final int DEBUG
This trace level means all type of messages should be written.

See Also:
Constant Field Values

ADAPTER

public static final int ADAPTER
This trace level means all type of messages should be written, but instead of using the trace file the messages should be written to SLF4J.

See Also:
Constant Field Values

DEFAULT_TRACE_LEVEL_SYSTEM_OUT

public static final int DEFAULT_TRACE_LEVEL_SYSTEM_OUT
The default level for system out trace messages.

See Also:
Constant Field Values

DEFAULT_TRACE_LEVEL_FILE

public static final int DEFAULT_TRACE_LEVEL_FILE
The default level for file trace messages.

See Also:
Constant Field Values
Constructor Detail

TraceSystem

public TraceSystem(java.lang.String fileName)
Create a new trace system object.

Parameters:
fileName - the file name
Method Detail

traceThrowable

public static void traceThrowable(java.lang.Throwable e)
Write the exception to the driver manager log writer if configured.

Parameters:
e - the exception

getTrace

public Trace getTrace(java.lang.String module)
Get or create a trace object for this module.

Parameters:
module - the module name
Returns:
the trace object

isEnabled

public boolean isEnabled(int level)
Check the given trace / log level is enabled.

Parameters:
level - the level
Returns:
true if the level is enabled

setFileName

public void setFileName(java.lang.String name)
Set the trace file name.

Parameters:
name - the file name

setMaxFileSize

public void setMaxFileSize(int max)
Set the maximum trace file size in bytes.

Parameters:
max - the maximum size

setLevelSystemOut

public void setLevelSystemOut(int level)
Set the trace level to use for System.out

Parameters:
level - the new level

setLevelFile

public void setLevelFile(int level)
Set the file trace level.

Parameters:
level - the new level

write

public void write(int level,
                  java.lang.String module,
                  java.lang.String s,
                  java.lang.Throwable t)
Write a message.

Parameters:
level - the trace level
module - the name of the module
s - the message
t - the exception (may be null)

close

public void close()
Close the writers, and the files if required. It is still possible to write after closing, however after each write the file is closed again (slowing down tracing).


finalize

protected void finalize()
Overrides:
finalize in class java.lang.Object

setName

public void setName(java.lang.String name)
Set the name of the database or trace object.

Parameters:
name - the new name