diff options
author | gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2011-10-21 22:30:18 +0000 |
---|---|---|
committer | gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2011-10-21 22:30:18 +0000 |
commit | 56a2b11be338d2ed249a6cbc956166312df2dbb3 (patch) | |
tree | 818674fb474ad5ac428c4b0d453ab68e6d42c0c5 /Foundation/GTMLogger.h | |
parent | 10a61bef2683db2f1f27cebfdd1d7cd9c8faa657 (diff) |
[Author: aharper]
- Make custom level filters much more flexible (arbitrary level combinations).
- Remove older custom level class to prevent confusion.
- Add a new standard logger that tries to produce a reasonable stdout/stderr
split for commandline tools.
R=dmaclach
APPROVED=dmaclach
Diffstat (limited to 'Foundation/GTMLogger.h')
-rw-r--r-- | Foundation/GTMLogger.h | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/Foundation/GTMLogger.h b/Foundation/GTMLogger.h index 4355292..43ae848 100644 --- a/Foundation/GTMLogger.h +++ b/Foundation/GTMLogger.h @@ -238,6 +238,10 @@ // Same as +standardLogger, but logs to stderr. + (id)standardLoggerWithStderr; +// Same as +standardLogger but levels >= kGTMLoggerLevelError are routed to +// stderr, everything else goes to stdout. ++ (id)standardLoggerWithStdoutAndStderr; + // Returns a new standard GTMLogger instance with a log writer that will // write to the file at |path|, and will use the GTMLogStandardFormatter and // GTMLogLevelFilter classes. If |path| does not exist, it will be created. @@ -454,20 +458,33 @@ typedef enum { @interface GTMLogNoFilter : NSObject <GTMLogFilter> @end // GTMLogNoFilter -// A log filter that filters messages below a specified level. Intended for -// use where finer control than all (GTMLogNoFilter) or heavy filter -// (GTMLogLevelFilter) isn't appropriate. -@interface GTMLogCustomLevelFilter : NSObject <GTMLogFilter> { + +// Base class for custom level filters. Not for direct use, use the minimum +// or maximum level subclasses below. +@interface GTMLogAllowedLevelFilter : NSObject <GTMLogFilter> { @private - GTMLoggerLevel filterLevel_; + NSIndexSet *allowedLevels_; } +@end + +// A log filter that allows you to set a minimum log level. Messages below this +// level will be filtered. +@interface GTMLogMininumLevelFilter : GTMLogAllowedLevelFilter // Designated initializer, logs at levels < |level| will be filtered. -// |level| cannot exceed kGTMLoggerLevelAssert -- (id)initWithFilterLevel:(GTMLoggerLevel)level; +- (id)initWithMinimumLevel:(GTMLoggerLevel)level; -@end // GTMLogLevelFilter +@end + +// A log filter that allows you to set a maximum log level. Messages whose level +// exceeds this level will be filtered. This is really only useful if you have +// a composite GTMLogger that is sending the other messages elsewhere. +@interface GTMLogMaximumLevelFilter : GTMLogAllowedLevelFilter + +// Designated initializer, logs at levels > |level| will be filtered. +- (id)initWithMaximumLevel:(GTMLoggerLevel)level; +@end |