AutorÃa | Ultima modificación | Ver Log |
// Copyright 2019 Google//// Licensed under the Apache License, Version 2.0 (the "License");// you may not use this file except in compliance with the License.// You may obtain a copy of the License at//// http://www.apache.org/licenses/LICENSE-2.0//// Unless required by applicable law or agreed to in writing, software// distributed under the License is distributed on an "AS IS" BASIS,// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.// See the License for the specific language governing permissions and// limitations under the License.#pragma once#include "Crashlytics/Crashlytics/Helpers/FIRCLSFile.h"__BEGIN_DECLS#ifdef __OBJC__extern NSString* const FIRCLSStartTimeKey;extern NSString* const FIRCLSFirstRunloopTurnTimeKey;extern NSString* const FIRCLSInBackgroundKey;#if TARGET_OS_IPHONEextern NSString* const FIRCLSDeviceOrientationKey;extern NSString* const FIRCLSUIOrientationKey;#endifextern NSString* const FIRCLSUserIdentifierKey;extern NSString* const FIRCLSUserNameKey;extern NSString* const FIRCLSUserEmailKey;extern NSString* const FIRCLSDevelopmentPlatformNameKey;extern NSString* const FIRCLSDevelopmentPlatformVersionKey;extern NSString* const FIRCLSOnDemandRecordedExceptionsKey;extern NSString* const FIRCLSOnDemandDroppedExceptionsKey;#endifextern const uint32_t FIRCLSUserLoggingMaxKVEntries;typedef struct {const char* incrementalPath;const char* compactedPath;uint32_t maxIncrementalCount;uint32_t maxCount;} FIRCLSUserLoggingKVStorage;typedef struct {const char* aPath;const char* bPath;uint32_t maxSize;uint32_t maxEntries;bool restrictBySize;uint32_t* entryCount;} FIRCLSUserLoggingABStorage;typedef struct {FIRCLSUserLoggingKVStorage userKVStorage;FIRCLSUserLoggingKVStorage internalKVStorage;FIRCLSUserLoggingABStorage logStorage;FIRCLSUserLoggingABStorage errorStorage;FIRCLSUserLoggingABStorage customExceptionStorage;} FIRCLSUserLoggingReadOnlyContext;typedef struct {const char* activeUserLogPath;const char* activeErrorLogPath;const char* activeCustomExceptionPath;uint32_t userKVCount;uint32_t internalKVCount;uint32_t errorsCount;} FIRCLSUserLoggingWritableContext;void FIRCLSUserLoggingInit(FIRCLSUserLoggingReadOnlyContext* roContext,FIRCLSUserLoggingWritableContext* rwContext);#ifdef __OBJC__void FIRCLSUserLoggingRecordUserKeyValue(NSString* key, id value);void FIRCLSUserLoggingRecordUserKeysAndValues(NSDictionary* keysAndValues);void FIRCLSUserLoggingRecordInternalKeyValue(NSString* key, id value);void FIRCLSUserLoggingWriteInternalKeyValue(NSString* key, NSString* value);void FIRCLSUserLoggingRecordError(NSError* error, NSDictionary<NSString*, id>* additionalUserInfo);NSDictionary* FIRCLSUserLoggingGetCompactedKVEntries(FIRCLSUserLoggingKVStorage* storage,bool decodeHex);void FIRCLSUserLoggingCompactKVEntries(FIRCLSUserLoggingKVStorage* storage);void FIRCLSUserLoggingRecordKeyValue(NSString* key,id value,FIRCLSUserLoggingKVStorage* storage,uint32_t* counter);void FIRCLSUserLoggingRecordKeysAndValues(NSDictionary* keysAndValues,FIRCLSUserLoggingKVStorage* storage,uint32_t* counter);void FIRCLSUserLoggingWriteAndCheckABFiles(FIRCLSUserLoggingABStorage* storage,const char** activePath,void (^openedFileBlock)(FIRCLSFile* file));NSArray* FIRCLSUserLoggingStoredKeyValues(const char* path);OBJC_EXTERN void FIRCLSLog(NSString* format, ...) NS_FORMAT_FUNCTION(1, 2);OBJC_EXTERN void FIRCLSLogToStorage(FIRCLSUserLoggingABStorage* storage,const char** activePath,NSString* format,...) NS_FORMAT_FUNCTION(3, 4);#endif__END_DECLS