Java源码示例:com.elvishew.xlog.LogLevel

示例1
public static void init (@NonNull Context context) {

        int logLevel = LogLevel.INFO;
        if (BuildConfig.DEBUG) {
            logLevel = LogLevel.ALL;
        }
        LogConfiguration configuration = new LogConfiguration.Builder()
                .tag("Xmsf")
                .logLevel(logLevel)
                .jsonFormatter(new DefaultJsonFormatter())
                .xmlFormatter(new DefaultXmlFormatter())
                .stackTraceFormatter(new DefaultStackTraceFormatter())
                .build();
        Printer androidPrinter = new AndroidPrinter();
        Printer filePrinter = new FilePrinter.Builder(LogUtils.getLogFolder(context))
                .fileNameGenerator(new DateFileNameGenerator())
                .cleanStrategy(new FileLastModifiedCleanStrategy(7 * 24 * 60 * 60 * 1000 /* 7 days */))
                .build();
        XLog.init(configuration, androidPrinter, filePrinter);
    }
 
示例2
/**
 * Get the highlight color for specific log level.
 *
 * @param logLevel the specific log level
 * @return the highlight color
 */
private int getHighlightColor(int logLevel) {
  int hightlightColor;
  switch (logLevel) {
    case LogLevel.VERBOSE:
      hightlightColor = 0xffbbbbbb;
      break;
    case LogLevel.DEBUG:
      hightlightColor = 0xffffffff;
      break;
    case LogLevel.INFO:
      hightlightColor = 0xff6a8759;
      break;
    case LogLevel.WARN:
      hightlightColor = 0xffbbb529;
      break;
    case LogLevel.ERROR:
      hightlightColor = 0xffff6b68;
      break;
    default:
      hightlightColor = 0xffffff00;
      break;
  }
  return hightlightColor;
}
 
示例3
@Override
public void onCreate() {
    super.onCreate();
    PhotoUtil.init(getApplicationContext(),new FrescoIniter());
    //Logger.initialize(new Settings());
    XLog.init(LogLevel.ALL);
}
 
示例4
@Override public void onCreate() {
    super.onCreate();

    final BasicProject.Builder builder = new BasicProject.Builder()
            .setDebug(BuildConfig.DEBUG)
            .setRootDirectoryName(getPackageName())
            //自定义异常信息处理,实现ICrashProcess
            //.setExceptionHandler(new CustomCrashProcessImpl())
            .setLog(BuildConfig.DEBUG ? LogLevel.ALL : LogLevel.NONE);

    BasicProject.config(builder);
    Adapter.config(new Adapter.Builder().setImageLoad(new GlideImageLoad()));
}
 
示例5
@Override
protected String fill(String pattern, long timeMillis, int logLevel, String tag, String message) {
  if (useLongName) {
    return pattern.replace(wrappedParameter, LogLevel.getLevelName(logLevel));
  } else {
    return pattern.replace(wrappedParameter, LogLevel.getShortLevelName(logLevel));
  }
}
 
示例6
@Override
public CharSequence flatten(long timeMillis, int logLevel, String tag, String message) {
  return Long.toString(timeMillis)
      + '|' + LogLevel.getShortLevelName(logLevel)
      + '|' + tag
      + '|' + message;
}
 
示例7
@Before
public void setup() {
  XLogUtil.beforeTest();
  XLog.init(LogLevel.ALL, new AndroidPrinter() {
    @Override
    void printChunk(int logLevel, String tag, String msg) {
      logContainer.add(new LogItem(logLevel, tag, msg));
    }
  });
}
 
示例8
/**
 * Print the configured log.
 */
private void printLog() {
  Logger.Builder builder = new Logger.Builder();

  String tag = tagView.getText().toString();
  if (!TextUtils.isEmpty(tag)) {
    builder.tag(tag);
  }

  if (threadInfo.isChecked()) {
    builder.t();
  } else {
    builder.nt();
  }

  if (stackTraceInfo.isChecked()) {
    builder.st(STACK_TRACE_DEPTHS[stackTraceDepth.getSelectedItemPosition()]);
  } else {
    builder.nst();
  }

  if (border.isChecked()) {
    builder.b();
  } else {
    builder.nb();
  }

  // Print the log to view, logcat and file.
  if (hasPermission) {
    builder.printers(
        viewPrinter,
        new AndroidPrinter(),
        XLogSampleApplication.globalFilePrinter);
  } else {
    builder.printers(
        viewPrinter,
        new AndroidPrinter());
  }

  Logger logger = builder.build();

  int levelPosition = levelView.getSelectedItemPosition();
  int level = LEVELS[levelPosition];
  switch (level) {
    case LogLevel.VERBOSE:
      logger.v(MESSAGE);
      break;
    case LogLevel.DEBUG:
      logger.d(MESSAGE);
      break;
    case LogLevel.INFO:
      logger.i(MESSAGE);
      break;
    case LogLevel.WARN:
      logger.w(MESSAGE);
      break;
    case LogLevel.ERROR:
      logger.e(MESSAGE);
      break;
  }
}
 
示例9
/**
 * Initialize XLog.
 */
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;
}
 
示例10
/**
 * Generate a file name which represent a specific log level.
 */
@Override
public String generateFileName(int logLevel, long timestamp) {
  return LogLevel.getLevelName(logLevel);
}
 
示例11
private void assertTagAccepted(String tag) {
  LogItem log = new LogItem(LogLevel.DEBUG, tag, "Message");
  assertNotNull("Tag " + log.tag + " should be accepted", interceptor.intercept(log));
}
 
示例12
private void assertTagRejected(String tag) {
  LogItem log = new LogItem(LogLevel.DEBUG, tag, "Message");
  assertNull("Tag " + log.tag + " should be rejected", interceptor.intercept(log));
}
 
示例13
private void assertTagAccepted(String tag) {
  LogItem log = new LogItem(LogLevel.DEBUG, tag, "Message");
  assertNotNull("Tag " + log.tag + " should be accepted", interceptor.intercept(log));
}
 
示例14
private void assertTagRejected(String tag) {
  LogItem log = new LogItem(LogLevel.DEBUG, tag, "Message");
  assertNull("Tag " + log.tag + " should be rejected", interceptor.intercept(log));
}