Skip to content

Commit

Permalink
Merge pull request #20 from sy-c/master
Browse files Browse the repository at this point in the history
v1.3.1
  • Loading branch information
sy-c authored Jun 14, 2019
2 parents c829343 + 2752542 commit dbc822a
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 4 deletions.
11 changes: 8 additions & 3 deletions doc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -178,10 +178,10 @@ The InfoLogger library allows to inject messages directly from programs, as show

* Some example calls are available in [the source code](/test/testInfoLogger.cxx)

* The tags associated to a message consist of the following fields:
* The tags associated to a message consist of the following fields (which may be left undefined):
* Severity: the kind of message, one of: Info (default), Error, Fatal, Warning, Debug
* Level: the relative visibility of the message and associated target audience to whom is addressed the message: from 1 (important, visible to all) to 99 (low-level debug message, for experts only).
For ALICE Run 2, the following ranges were used to categorize messages in DAQ/ECS: operations (1-5) support (6-10) developer (11-20) debug (21-99)
For ALICE Run 2, the following ranges were used to categorize messages in DAQ/ECS: operations (1-5) support (6-10) developer (11-20) debug (21-99).
* Timestamp: time at which message was injected (Unix time in seconds since 1.1.1970). Precision goes to the microsecond.
* Hostname: the name of the machine where the message is issued. For concision, the domain name is excluded from this tag, only the base IP host name is kept.
* Rolename: the role name associated to the entity running the process. The same host might run several different roles. Example role name: FLP-TPC-1, EPN-223.
Expand All @@ -198,7 +198,7 @@ The InfoLogger library allows to inject messages directly from programs, as show
* ErrorLine: the source line number from which message is injected. Useful to trace back low-level debug messages.
* Message: the message content itself. Free text. Multiple-line messages are split at each end-of-line. Some characters are not allowed and replaced (\* and \#).

It is important to set the fields as precisely as possible, so that messages can be searched and filtered efficiently.
It is important to set the fields as precisely as possible, so that messages can be searched and filtered efficiently.
The initial list of fields has been taken from the Run 2 vocabulary. It may be adapted, in particular depending on the implementation and naming conventions of the control system.

The fields are grouped in different categories.
Expand All @@ -215,6 +215,11 @@ The InfoLogger library allows to inject messages directly from programs, as show
defined.

Usually, one will only take care of defining the per-message messageOptions struct and a context with appropriate Facility field set, all other being set automatically.

* On the server side, messages are stored in a database, consisting of a single "messages" table (and possibly some archived versions of this table).
The reference for the data structure is the table description itself, with one column per message tag, trivially matching the list of tags described above.
Fields which are undefined appear as NULL (unless the library automatically sets a value for them).
String fields usually have a maximum size (and are truncated if exceeding this limit, typically 32 characters).

* InfoLogger library is also available for: Tcl, Python, Go, Node.js.
It allows to log message from scripting languages. A simplified subset of the InfoLogger C++ API is made available through SWIG-generated modules.
Expand Down
4 changes: 4 additions & 0 deletions doc/releaseNotes.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,7 @@ This file describes the main feature changes for each InfoLogger released versio

## v1.3 - 05/06/2019
- ScriptingAPI: added logS() and logM() aliases for the overloaded log() functions.

## v1.3.1 - 14/06/2019
- Fix in infoBrowser level filtering to match documentation.
- Added documentation on the database structure.
2 changes: 1 addition & 1 deletion src/infoBrowser.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ label .select.level.l -text "Level" -font timefont
label .select.level.lnone -text "" -font timefont
menubutton .select.level.v -menu .select.level.v.menu -relief raised -width 10 -font timefont
menu .select.level.v.menu -tearoff 0
set llevel { "shifter" 1 "oncall" 6 "devel" 11 "debug" 21 "any" -1 "custom" -1}
set llevel { "shifter" 5 "oncall" 10 "devel" 20 "debug" 99 "any" -1 "custom" -1}
foreach {slimit ilimit} $llevel {
if {$slimit!="custom"} {
set lcmd ".select.level.v configure -text \"$slimit\"; global vfilter_level; set vfilter_level $ilimit"
Expand Down

0 comments on commit dbc822a

Please sign in to comment.