- Methods: All Methods Documented Methods Hide Methods
- Source: Display Source Hide Source
- Variables: Show Variables Hide Variables
Class ::nsmcp::LogDiscovery
::nsmcp::LogDiscoverycreate ... \
[ -accessLog (default "") ] \
[ -cacheDirectory (default "") ] \
[ -systemLog (default "") ]
Defined in /usr/local/ns/tcl/nsmcp/log-discovery.tcl
Class Relations
::nx::Class create ::nsmcp::LogDiscovery \ -superclass ::nsmcp::ObjectMethods (to be applied on instances)
createCorrelation (scripted, public)
<instance of nsmcp::LogDiscovery> createCorrelation name
Create a named correlation service for the discovered sources. Validate the object name and source availability, then create the searches owned by the correlation object; clean up on failure.
- Parameters:
- name (required)
- Name of the configured or registered item to resolve.
- Returns:
- The newly created correlation object command.
- Testcases:
- No testcase defined.
if {![string match ::* $name]} { error "expected a fully qualified object name" } if {[nsf::object::exists $name]} { error "object already exists: $name" } set discovered [:discover] if {![dict get $discovered system readable]} { error "discovered system log is missing or unreadable" } set access [dict get $discovered access path] if {$access ne "" && ![dict get $discovered access readable]} { error "discovered access log is missing or unreadable" } set sources {} if {$access ne ""} { lappend sources ${name}::access } ::nsmcp::LogCorrelation create $name -systemSearch ${name}::system -accessSearches $sources try { set common [list -store nsmcp:discovered-logs:[ns_info server] -cacheDirectory [dict get $discovered cacheDirectory]] ::nsmcp::CachedLogSearch create ${name}::system -path [dict get $discovered system path] {*}$common if {$access ne ""} { ::nsmcp::CachedLogSearch create ${name}::access -path $access {*}$common } } on error {message options} { $name destroy return -options $options $message } return $namediscover (scripted, public)
<instance of nsmcp::LogDiscovery> discover
Resolve the effective system-log and access-log sources. Combine configured overrides with runtime discovery and retain availability and origin metadata.
- Returns:
- The discovered log-source dictionary.
- Testcases:
- No testcase defined.
set system ${:systemLog} set systemOrigin override if {$system eq ""} { set system [:runtimeSystemLog] set systemOrigin runtime } set access ${:accessLog} set accessOrigin override if {$access eq ""} { set access [:runtimeAccessLog] set accessOrigin runtime } set cache ${:cacheDirectory} if {$cache eq ""} { set serverKey [string range [ns_crypto::md string -digest sha256 -- [ns_info server]] 0 11] set cache [file join /tmp nsmcp-cache-[pid]-$serverKey] } if {[file pathtype $cache] ne "absolute"} { error "cacheDirectory must be absolute" } return [dict create server [ns_info server] system [:describePath $system $systemOrigin] access [:describePath $access $accessOrigin] cacheDirectory [file normalize $cache]]
- Methods: All Methods Documented Methods Hide Methods
- Source: Display Source Hide Source
- Variables: Show Variables Hide Variables
![[i]](/resources/acs-subsite/ZoomIn16.gif)