standardMessageDestinations.fcl
Go to the documentation of this file.
1 #
2 # Standage destinations for the message service --
3 # for use by messageService.fcl, which defines standard configurations for
4 # the message service.
5 #
6 # Normally, users will use messageService.fcl which includes this file,
7 # rather than dealing with this file directly.
8 #
9 # Usage - in a fcl configuration file
10 #
11 # 1 - Place the following near the start, among the PROLOGs:
12 # #include "fcl/standardMessageDestinations.fcl"
13 #
14 # 2 - In a destinations entry in a block that will be part of the message
15 # service block, choose the selected standard destination configuration
16 # among:
17 # destinations : @local::mf_error
18 # destinations : @local::mf_warning
19 # destinations : @local::mf_coutInfo
20 # destinations : @local::mf_debug
21 #
22 # 3 - If message statistics will also be desired, also insert the corresponding
23 # standard statistics, from among:
24 # destinations : @local::mf_errorStats
25 # destinations : @local::mf_warningStats
26 # destinations : @local::mf_coutInfoStats
27 # destinations : @local::mf_debugStats
28 #
29 # 3 - Customizations to configurations using these standard destinations
30 # are straightforward to make; see customizingMessageFacilityFcl.txt
31 # for simple examples.
32 
33 
34 BEGIN_PROLOG
35 
36 # Four standardized (but customizable) destinations, with different thresholds
37 # ----------------------------------------------------------------------------
38 
39 mf_null:
40 {
41  type: file
42  filename: "/dev/null"
43 }
44 
45 mf_error:
46 {
47  type: file # Record the messages in a file.
48  filename: "error.log" # Name of the file in which to place the messages;
49  # quoted, because if contains a dot.
50  threshold: ERROR # Threshold of what level of messages to react to.
51  append: true # Will append messages to named file if it exists
52  categories: # A place to list named categories, if you want to
53  # specify the behavior for specific categories of
54  # messages.
55  # For example, in LigInfo("suspiciousParticle") << p;
56  # the category of the message would be
57  # "suspiciousParticle."
58  {
59  default: # Limits for any category not explicitly mentioned.
60  {
61  limit : 100 # Output first 100 instances of messages in each
62  # category, then go to exponential backoff.
63  timespan : 300 # If this many seconds elapse between messages of
64  # one category being issued, reset the counting
65  # toward the limit (in this case, output the next
66  # 100 instances, even if limit had been exceeded).
67  }
68  } # end categories
69 } # end mf_error
70 mf_errorStats :
71 {
72  type : file
73  filename : @local::mf_error.filename # Because the filename matches that
74  # of a destination (if used with
75  # errorMsg), the statistics will be
76  # placed at the end of the output
77  # to that destination.
78 }
79 
80 mf_warning:
81 {
82  type: file
83  filename: "warning.log"
84  threshold: WARNING # React to WARNING and ERROR message severities;
85  # ignore messages issued via iLogInfo and LogDebug.
86  categories:
87  {
88  default:
89  {
90  limit : 100
91  timespan : 300
92  }
93  } # end categories
94 } # end mf_warning
95 mf_warningStats :
96 {
97  type : file
98  filename : @local::mf_warning.filename
99 }
100 
101 mf_coutInfo:
102 {
103  type: cout # type could be cout, cerr, archive, dds, or file.
104  threshold: INFO # React to INFO, WARNING, and ERROR
105  # message severities; ignore LogDebug messages.
106  categories:
107  {
108  ArtReport: # ArtReport is a category of INFO messages that
109  # the framework will generate to tell, for example,
110  # when a next event is started.
111  {
112  reportEvery : 50 # Output only every 50-th message issued in this
113  # category.
114  limit : -1 # -1 is a way to say do not impose any limit.
115  # Alternatively, one could just omit the limit
116  # entry, which would mean no limit.
117  }
118  default:
119  {
120  limit : 10
121  }
122  } # end categories
123 } # end mf_coutInfo
124 mf_coutInfoStats :
125 {
126  type : cout
127 }
128 
129 mf_debug:
130 {
131  type: file
132  filename: "debug.log"
133  append: false
134  threshold: "DEBUG" # No messages will be ignored due to this threshold.
135  # However, unless debugModules in service.message
136  # includes "*", messages from a module which is
137  # not among the debug modules listed will still
138  # be suppressed.
139  categories:
140  {
141  default:
142  {
143  limit: -1
144  }
145  } # end categories
146 } # end mf_debug
147 mf_debugStats :
148 {
149  type : file
150  filename : @local::mf_debug.filename
151 }
152 
153 END_PROLOG