The OracleTarget uses an OLEDB connection string to connect to your Oracle database. By default a stored procedure and a log table is automatically created when the first entry is logged. The default table name is tblLog and the default stored procedure name is SPINSERTTBLLOG. It automatically discards oldest entries after reaching a default of 10,000 log messages. This behavior can be overridden.
It has these properties that can be configured:
- Name - Defaults to OracleTarget
- LoggingMode - Defines which mode to use for the target; Synchronous, Buffered, or Asynchronous. The default is Synchronous.
- MessageFormat - What to output in the log. See the Message Format topic for more information.
- DateFormat - The date format for the %LogTime% variable in the MessageFormat. See the Date Format topic for more information.
- MinimumLevel - The minimum logging level to log a message.
- AssemblyNameFilter - If specified, only log for a specific assembly name. See the Filtering topic.
- NamespaceFilter - If specified, only log for a specific namespace. See the Filtering topic.
- ClassNameFilter - If specified, only log for a specific class name. See the Filtering topic.
- MethodNameFilter - If specified, only log for a specific method name. See the Filtering topic.
- ThreadNameFilter - If specified, logging will only occur for the thread id or thread name specified. See the Filtering topic.
- UserNameFilter - If specified, logging will only occur for the specific user name. See the Filtering topic.
- MachineNameFilter - If specified, logging will only occur for the specific machine name. See the Filtering topic.
- BufferSize - When a logging target has a Mode of Buffered, this is how often messages are committed. See the Buffered Logging topic.
- ConnectionString - Get or set the connection string.
- TableName - Get or set the table name. Defaults to tblLog
- MaxEntries - Discard the oldest entries that are greater than MaxEntries. Set to zero to disable.
- AutoCreateTable - If true, the logging table will be automatically created if it does not exist when the first message is logged.
- StoredProcedureName - The name of the stored procedure. The default is SPINSERTTBLLOG
- AutoCreateStoredProcedure - If true, the stored procedure for logging will be created if it does not exist for the first logging message. The default is true.
tblLog Columns (Automatically Created)
LogID MEDIUMINT NOT NULL AUTO_INCREMENT
LogDate datetime NOT NULL
Message LONGTEXT NOT NULL
Additional LONGTEXT NULL
ElapsedMilliseconds FLOAT NOT NULL
LogLevel varchar(50) NOT NULL
MachineName varchar(100) NOT NULL
UserName varchar(100) NOT NULL
ProcessName varchar(100) NOT NULL
CallingMethod varchar(255) NULL
LineNumber varchar(100) NOT NULL
//Example runtime configuration, can also use log.config, app.config, or web.config
Log.ResetConfiguration();
OracleTarget target = new OracleTarget();
target.ConnectionString = @"Provider=OraOLEDB.Oracle;Data Source=ORCL;User Id=SYSMAN;Password=sys;OLEDB.NET=True;";
target.TableName = "LogTable";
//Set to zero to not discard max entries
target.MaxEntries = 10000;
Log.Config.Targets.Add(target);
Log.Debug("This is a test");