private void initXlog ( ) { LogConfiguration config = new LogConfiguration . Builder ( ) . logLevel ( BuildConfig . DEBUG ? LogLevel . ALL // Specify log level, logs below this level won't be printed, default: LogLevel.ALL : LogLevel . NONE ) . tag ( getString ( R . string . global_tag ) ) // Specify TAG, default: "X-LOG" // .t() // Enable thread info, disabled by default // .st(2) // Enable stack trace info with depth 2, disabled by default // .b() // Enable border, disabled by default // .jsonFormatter(new MyJsonFormatter()) // Default: DefaultJsonFormatter // .xmlFormatter(new MyXmlFormatter()) // Default: DefaultXmlFormatter // .throwableFormatter(new MyThrowableFormatter()) // Default: DefaultThrowableFormatter // .threadFormatter(new MyThreadFormatter()) // Default: DefaultThreadFormatter // .stackTraceFormatter(new MyStackTraceFormatter()) // Default: DefaultStackTraceFormatter // .borderFormatter(new MyBoardFormatter()) // Default: DefaultBorderFormatter // .addObjectFormatter(AnyClass.class, // Add formatter for specific class of object // new AnyClassObjectFormatter()) // Use Object.toString() by default . addInterceptor ( new BlacklistTagsFilterInterceptor ( // Add blacklist tags filter "blacklist1" , "blacklist2" , "blacklist3" ) ) // .addInterceptor(new WhitelistTagsFilterInterceptor( // Add whitelist tags filter // "whitelist1", "whitelist2", "whitelist3")) // .addInterceptor(new MyInterceptor()) // Add a log interceptor . build ( ) ; Printer androidPrinter = new AndroidPrinter ( ) ; // Printer that print the log using android.util.Log Printer filePrinter = new FilePrinter // Printer that print the log to the file system . Builder ( new File ( Environment . getExternalStorageDirectory ( ) , "xlogsample" ) . getPath ( ) ) // Specify the path to save log file . fileNameGenerator ( new DateFileNameGenerator ( ) ) // Default: ChangelessFileNameGenerator("log") // .backupStrategy(new MyBackupStrategy()) // Default: FileSizeBackupStrategy(1024 * 1024) // .cleanStrategy(new FileLastModifiedCleanStrategy(MAX_TIME)) // Default: NeverCleanStrategy() . flattener ( new ClassicFlattener ( ) ) // Default: DefaultFlattener . build ( ) ; XLog . init ( // Initialize XLog config , // Specify the log configuration, if not specified, will use new LogConfiguration.Builder().build() androidPrinter , // Specify printers, if no printer is specified, AndroidPrinter(for Android)/ConsolePrinter(for java) will be used. filePrinter ) ; // For future usage: partial usage in MainActivity. globalFilePrinter = filePrinter ; }
Initialize XLog .