Class 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

      Fields 
      Modifier and Type Field Description
      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

      Constructors 
      Constructor Description
      TraceSystem​(java.lang.String fileName)
      Create a new trace system object.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      Close the writers, and the files if required.
      int getLevelFile()  
      Trace getTrace​(int moduleId)
      Get or create a trace object for this module id.
      Trace getTrace​(java.lang.String module)
      Create a trace object for this module.
      boolean isEnabled​(int level)  
      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)  
      void setSysOut​(java.io.PrintStream out)
      Set the print stream to use instead of System.out.
      void write​(int level, int moduleId, java.lang.String s, java.lang.Throwable t)  
      void write​(int level, java.lang.String module, java.lang.String s, java.lang.Throwable t)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, 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

      • setSysOut

        public void setSysOut​(java.io.PrintStream out)
        Set the print stream to use instead of System.out.
        Parameters:
        out - the new print stream
      • getTrace

        public Trace getTrace​(int moduleId)
        Get or create a trace object for this module id. Trace modules with id are cached.
        Parameters:
        moduleId - module id
        Returns:
        the trace object
      • getTrace

        public Trace getTrace​(java.lang.String module)
        Create a trace object for this module. Trace modules with names are not cached.
        Parameters:
        module - the module name
        Returns:
        the trace object
      • isEnabled

        public boolean isEnabled​(int level)
      • 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
      • getLevelFile

        public int getLevelFile()
      • write

        public void write​(int level,
                          int moduleId,
                          java.lang.String s,
                          java.lang.Throwable t)
      • write

        public void write​(int level,
                          java.lang.String module,
                          java.lang.String s,
                          java.lang.Throwable t)
      • 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).
      • setName

        public void setName​(java.lang.String name)