%SYS
LogDmn Class Reference

API for managing the log daemon. More...

Inheritance diagram for LogDmn:
Collaboration diagram for LogDmn:

Static Public Member Functions

_.Library.Status Disable ()
 API for managing the log daemon. More...
 
_.Library.Status Enable ()
 Enable the log daemon. More...
 
_.Library.Status Restart (_.Library.Integer pid)
 Restart the log daemon. More...
 
_.Library.Status Start (_.Library.Integer pid, _.Library.Double timeout)
 Start the log daemon. More...
 
_.Library.Integer Status ()
 Returns status of the log daemon
More...
 
_.Library.Status Stop ()
 Stop the log daemon.
 

Detailed Description

API for managing the log daemon.

See <class>Config.Logging</class> for changing the log daemon's configuration values, by using the inherited Config.Logging::Get and Config.Logging::Modify methods. All the methods that modify the state of the log daemon require USE permission for the Admin_Manage resource.

The log daemon is the LOGDMN routine. At predetermined intervals it scans various sources of logs (currently only mgr/messages.log, and the DB in SYS.Audit.cls), rewrites the messages in a specified format (name-value pairs (NVP) or JSON) and sends them through a pipe to be consumed by an external program. The command to launch the external program is found in Config.Logging::ChildProcessLaunchCommand For more info on configuring the log daemon, view the class documentation in <class>Config.Logging</class>

Member Function Documentation

◆ Disable()

_.Library.Status Disable ( )
static

API for managing the log daemon.

See <class>Config.Logging</class> for changing the log daemon's configuration values, by using the inherited Config.Logging::Get and Config.Logging::Modify methods. All the methods that modify the state of the log daemon require USE permission for the Admin_Manage resource.

The log daemon is the LOGDMN routine. At predetermined intervals it scans various sources of logs (currently only mgr/messages.log, and the DB in SYS.Audit.cls), rewrites the messages in a specified format (name-value pairs (NVP) or JSON) and sends them through a pipe to be consumed by an external program. The command to launch the external program is found in Config.Logging::ChildProcessLaunchCommand For more info on configuring the log daemon, view the class documentation in <class>Config.Logging</class>

Disable the log daemon

If the log daemon is disabled, the daemon will NOT be launched on instance startup and any attempts to start the daemon via ##class(SYS.LogDmn).Start() will fail with an error that instructs the caller to call ##class(SYS.LogDmn).Enable(). IMPORTANT: If the daemon is running and this method (##class(SYS.LogDmn).Disable()) is called, then the daemon will stop automatically.

◆ Enable()

_.Library.Status Enable ( )
static

Enable the log daemon.

If the log daemon is enabled, then the the daemon will be launched automatically every time the instance starts up. IMPORTANT: If the daemon is stopped and this method (##class(SYS.LogDmn).Enable()) is called, then the daemon will start up automatically.

◆ Restart()

_.Library.Status Restart ( _.Library.Integer  pid)
static

Restart the log daemon.

Parameters: 
pid - Deprecated and optional parameter, it is recommended you do not pass it in. 
    If passed by reference, the pid variable will be set to the PID of the log daemon process, otherwise it will be some non positive number. 
    See the ##class(SYS.LogDmn).Status() explaining how to interpret and non positive value for pid.

◆ Start()

_.Library.Status Start ( _.Library.Integer  pid,
_.Library.Double  timeout 
)
static

Start the log daemon.

The log daemon must be enabled be this method can be called. You can enable the log daemon by calling

class(SYS.LogDmn).Enable()

Parameters: pid - Deprecated and optional parameter, it is recommended you do not pass it in. If passed by reference, the pid variable will be set to the PID of the log daemon process, otherwise it will be some non positive number. See the ##class(SYS.LogDmn).Status() explaining how to interpret and non positive value for pid. timeout - The number of seconds we wait for the daemon process to start before we declare it to be unnresponsive.

◆ Status()

_.Library.Integer Status ( )
static

Returns status of the log daemon

  • (PID) - running
  • 0 - not running
  • -1 - died