aboutsummaryrefslogtreecommitdiff
path: root/Foundation/GTMLogger.h
diff options
context:
space:
mode:
authorGravatar gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2011-10-21 22:30:18 +0000
committerGravatar gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2011-10-21 22:30:18 +0000
commit56a2b11be338d2ed249a6cbc956166312df2dbb3 (patch)
tree818674fb474ad5ac428c4b0d453ab68e6d42c0c5 /Foundation/GTMLogger.h
parent10a61bef2683db2f1f27cebfdd1d7cd9c8faa657 (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.h33
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