Class ::nsmcp::LogDiscovery
::nsmcp::LogDiscovery
create ... \
[ -accessLog (default "") ] \
[ -cacheDirectory (default "") ] \
[ -systemLog (default "") ]
Defined in /usr/local/ns/tcl/nsmcp/lib/log-discovery.tclClass Relations
- class: ::nx::Class
![[i]](/resources/acs-subsite/ZoomIn16.gif)
- superclass: ::nx::Object
![[i]](/resources/acs-subsite/ZoomIn16.gif)
::nx::Class create ::nsmcp::LogDiscovery \
-superclass ::nx::Object
Methods (to be applied on instances)
<instance of nsmcp::LogDiscovery
> createCorrelation name
- Parameters:
- name (required)
- 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
- 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]]