Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(132)

Side by Side Diff: webrtc/base/objc/RTCFileLogger.h

Issue 1692243003: Move RTCFileLogger to webrtc/base/objc. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Remove symlinks Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * libjingle 2 * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 * Copyright 2015 Google Inc.
4 * 3 *
5 * Redistribution and use in source and binary forms, with or without 4 * Use of this source code is governed by a BSD-style license
6 * modification, are permitted provided that the following conditions are met: 5 * that can be found in the LICENSE file in the root of the source
7 * 6 * tree. An additional intellectual property rights grant can be found
8 * 1. Redistributions of source code must retain the above copyright notice, 7 * in the file PATENTS. All contributing project authors may
9 * this list of conditions and the following disclaimer. 8 * be found in the AUTHORS file in the root of the source tree.
10 * 2. Redistributions in binary form must reproduce the above copyright notice,
11 * this list of conditions and the following disclaimer in the documentation
12 * and/or other materials provided with the distribution.
13 * 3. The name of the author may not be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
19 * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
20 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
21 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
22 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
23 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
24 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
25 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */ 9 */
27 10
28 #import <Foundation/Foundation.h> 11 #import <Foundation/Foundation.h>
29 12
30 // TODO(tkchin): Move this to a common location.
31 #ifndef NS_DESIGNATED_INITIALIZER
32 #define NS_DESIGNATED_INITIALIZER
33 #endif
34
35 typedef NS_ENUM(NSUInteger, RTCFileLoggerSeverity) { 13 typedef NS_ENUM(NSUInteger, RTCFileLoggerSeverity) {
36 kRTCFileLoggerSeverityVerbose, 14 kRTCFileLoggerSeverityVerbose,
37 kRTCFileLoggerSeverityInfo, 15 kRTCFileLoggerSeverityInfo,
38 kRTCFileLoggerSeverityWarning, 16 kRTCFileLoggerSeverityWarning,
39 kRTCFileLoggerSeverityError 17 kRTCFileLoggerSeverityError
40 }; 18 };
41 19
42 typedef NS_ENUM(NSUInteger, RTCFileLoggerRotationType) { 20 typedef NS_ENUM(NSUInteger, RTCFileLoggerRotationType) {
43 kRTCFileLoggerTypeCall, 21 kRTCFileLoggerTypeCall,
44 kRTCFileLoggerTypeApp, 22 kRTCFileLoggerTypeApp,
45 }; 23 };
46 24
47 // This class intercepts WebRTC logs and saves them to a file. The file size 25 // This class intercepts WebRTC logs and saves them to a file. The file size
48 // will not exceed the given maximum bytesize. When the maximum bytesize is 26 // will not exceed the given maximum bytesize. When the maximum bytesize is
49 // reached, logs are rotated according to the rotationType specified. 27 // reached, logs are rotated according to the rotationType specified.
50 // For kRTCFileLoggerTypeCall, logs from the beginning and the end 28 // For kRTCFileLoggerTypeCall, logs from the beginning and the end
51 // are preserved while the middle section is overwritten instead. 29 // are preserved while the middle section is overwritten instead.
52 // For kRTCFileLoggerTypeApp, the oldest log is overwritten. 30 // For kRTCFileLoggerTypeApp, the oldest log is overwritten.
53 // This class is not threadsafe. 31 // This class is not threadsafe.
54 @interface RTCFileLogger : NSObject 32 @interface RTCFileLogger : NSObject
55 33
56 // The severity level to capture. The default is kRTCFileLoggerSeverityInfo. 34 // The severity level to capture. The default is kRTCFileLoggerSeverityInfo.
57 @property(nonatomic, assign) RTCFileLoggerSeverity severity; 35 @property(nonatomic, assign) RTCFileLoggerSeverity severity;
58 36
59 // The rotation type for this file logger. The default is 37 // The rotation type for this file logger. The default is
60 // kRTCFileLoggerTypeCall. 38 // kRTCFileLoggerTypeCall.
61 @property(nonatomic, readonly) RTCFileLoggerRotationType rotationType; 39 @property(nonatomic, readonly) RTCFileLoggerRotationType rotationType;
62 40
63 // Disables buffering disk writes. Should be set before |start|. Buffering
64 // is enabled by default for performance.
65 @property(nonatomic, assign) BOOL shouldDisableBuffering;
66
67 // Default constructor provides default settings for dir path, file size and 41 // Default constructor provides default settings for dir path, file size and
68 // rotation type. 42 // rotation type.
69 - (instancetype)init; 43 - (instancetype)init;
70 44
71 // Create file logger with default rotation type. 45 // Create file logger with default rotation type.
72 - (instancetype)initWithDirPath:(NSString *)dirPath 46 - (instancetype)initWithDirPath:(NSString *)dirPath
73 maxFileSize:(NSUInteger)maxFileSize; 47 maxFileSize:(NSUInteger)maxFileSize;
74 48
75 - (instancetype)initWithDirPath:(NSString *)dirPath 49 - (instancetype)initWithDirPath:(NSString *)dirPath
76 maxFileSize:(NSUInteger)maxFileSize 50 maxFileSize:(NSUInteger)maxFileSize
77 rotationType:(RTCFileLoggerRotationType)rotationType 51 rotationType:(RTCFileLoggerRotationType)rotationType
78 NS_DESIGNATED_INITIALIZER; 52 NS_DESIGNATED_INITIALIZER;
79 53
80 // Starts writing WebRTC logs to disk if not already started. Overwrites any 54 // Starts writing WebRTC logs to disk if not already started. Overwrites any
81 // existing file(s). 55 // existing file(s).
82 - (void)start; 56 - (void)start;
83 57
84 // Stops writing WebRTC logs to disk. This method is also called on dealloc. 58 // Stops writing WebRTC logs to disk. This method is also called on dealloc.
85 - (void)stop; 59 - (void)stop;
86 60
87 // Returns the current contents of the logs, or nil if start has been called 61 // Returns the current contents of the logs, or nil if start has been called
88 // without a stop. 62 // without a stop.
89 - (NSData *)logData; 63 - (NSData *)logData;
90 64
91 @end 65 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698