Skip to content
This repository was archived by the owner on Feb 26, 2023. It is now read-only.

Commit 1445707

Browse files
committed
FileAppender in LoggerContext is optional
Logging to the file now can be turned off in annotation processing options. It is still on by default.
1 parent 08435e0 commit 1445707

2 files changed

Lines changed: 38 additions & 21 deletions

File tree

‎AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/helper/OptionsHelper.java‎

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,22 +26,29 @@
2626
public class OptionsHelper {
2727

2828
enum Option {
29-
TRACE("trace"), //
30-
ANDROID_MANIFEST_FILE("androidManifestFile"), //
31-
RESOURCE_PACKAGE_NAME("resourcePackageName"), //
32-
LOG_FILE("logFile"), //
33-
LOG_LEVEL("logLevel"), //
34-
LOG_APPENDER_CONSOLE("logAppenderConsole");
29+
TRACE("trace", "false"), //
30+
ANDROID_MANIFEST_FILE("androidManifestFile", null), //
31+
RESOURCE_PACKAGE_NAME("resourcePackageName", null), //
32+
LOG_FILE("logFile", null), //
33+
LOG_LEVEL("logLevel", "DEBUG"), //
34+
LOG_APPENDER_CONSOLE("logAppenderConsole", "false"), //
35+
LOG_APPENDER_FILE("logAppenderFile", "true");
3536

3637
private String key;
38+
private String defaultValue;
3739

38-
private Option(String key) {
40+
private Option(String key, String defaultValue) {
3941
this.key = key;
42+
this.defaultValue = defaultValue;
4043
}
4144

4245
public String getKey() {
4346
return key;
4447
}
48+
49+
public String getDefaultValue() {
50+
return defaultValue;
51+
}
4552
}
4653

4754
private final Map<String, String> options;
@@ -78,26 +85,29 @@ public Level getLogLevel() {
7885
try {
7986
return Level.parse(getString(Option.LOG_LEVEL));
8087
} catch (Exception e) {
81-
return Level.DEBUG;
88+
return Level.parse(Option.LOG_LEVEL.getDefaultValue());
8289
}
8390
}
8491

8592
public boolean shouldUseConsoleAppender() {
8693
return getBoolean(Option.LOG_APPENDER_CONSOLE);
8794
}
8895

89-
private String getString(Option option) {
90-
return options.get(option.getKey());
96+
public boolean shouldUseFileAppender() {
97+
return getBoolean(Option.LOG_APPENDER_FILE);
9198
}
9299

93-
private boolean getBoolean(Option option) {
100+
private String getString(Option option) {
94101
String key = option.getKey();
95102
if (options.containsKey(key)) {
96-
String trace = options.get(key);
97-
return !"false".equals(trace);
103+
return options.get(key);
98104
} else {
99-
return false;
105+
return option.getDefaultValue();
100106
}
101107
}
102108

109+
private boolean getBoolean(Option option) {
110+
return Boolean.valueOf(getString(option));
111+
}
112+
103113
}

‎AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/logger/LoggerContext.java‎

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,20 @@
1515
*/
1616
package org.androidannotations.logger;
1717

18+
import java.util.ArrayList;
19+
import java.util.List;
20+
21+
import javax.annotation.processing.ProcessingEnvironment;
22+
import javax.lang.model.element.AnnotationMirror;
23+
import javax.lang.model.element.Element;
24+
1825
import org.androidannotations.helper.OptionsHelper;
1926
import org.androidannotations.logger.appender.Appender;
2027
import org.androidannotations.logger.appender.ConsoleAppender;
2128
import org.androidannotations.logger.appender.FileAppender;
2229
import org.androidannotations.logger.appender.MessagerAppender;
2330
import org.androidannotations.logger.formatter.Formatter;
2431

25-
import javax.annotation.processing.ProcessingEnvironment;
26-
import javax.lang.model.element.AnnotationMirror;
27-
import javax.lang.model.element.Element;
28-
import java.util.ArrayList;
29-
import java.util.List;
30-
3132
public class LoggerContext {
3233

3334
private static LoggerContext INSTANCE = null;
@@ -48,7 +49,6 @@ public static LoggerContext getInstance() {
4849
}
4950

5051
LoggerContext() {
51-
appenders.add(new FileAppender());
5252
appenders.add(new MessagerAppender());
5353
}
5454

@@ -72,6 +72,7 @@ public void setProcessingEnv(ProcessingEnvironment processingEnv) {
7272
OptionsHelper optionsHelper = new OptionsHelper(processingEnv);
7373
resolveLogLevel(optionsHelper);
7474
addConsoleAppender(optionsHelper);
75+
addFileAppender(optionsHelper);
7576

7677
for (Appender appender : appenders) {
7778
appender.setProcessingEnv(processingEnv);
@@ -95,4 +96,10 @@ private void addConsoleAppender(OptionsHelper optionsHelper) {
9596
}
9697
}
9798

99+
private void addFileAppender(OptionsHelper optionsHelper) {
100+
if (optionsHelper.shouldUseFileAppender()) {
101+
appenders.add(new FileAppender());
102+
}
103+
}
104+
98105
}

0 commit comments

Comments
 (0)