22
33import java .util .ArrayList ;
44import java .util .List ;
5+ import java .util .Map ;
56
67import javax .annotation .processing .ProcessingEnvironment ;
78import javax .lang .model .element .AnnotationMirror ;
89import javax .lang .model .element .Element ;
910
1011import org .androidannotations .logger .appender .Appender ;
12+ import org .androidannotations .logger .appender .ConsoleAppender ;
1113import org .androidannotations .logger .appender .FileAppender ;
1214import org .androidannotations .logger .appender .MessagerAppender ;
1315
1416public class LoggerContext {
1517
1618 public static final String LOG_FILE_OPTION = "logFile" ;
1719 public static final String LOG_LEVEL_OPTION = "logLevel" ;
20+ public static final String LOG_APPENDER_CONSOLE = "logAppenderConsole" ;
1821 private static LoggerContext INSTANCE = null ;
1922 private static final Level DEFAULT_LEVEL = Level .DEBUG ;
2023
@@ -34,7 +37,6 @@ public static LoggerContext getInstance() {
3437 }
3538
3639 LoggerContext () {
37- // appenders.add(new ConsoleAppender());
3840 appenders .add (new FileAppender ());
3941 appenders .add (new MessagerAppender ());
4042 }
@@ -61,6 +63,7 @@ public void setProcessingEnv(ProcessingEnvironment processingEnv) {
6163 }
6264
6365 resolveLogLevel (processingEnv );
66+ addConsoleAppender (processingEnv );
6467 }
6568
6669 public void close () {
@@ -70,10 +73,20 @@ public void close() {
7073 }
7174
7275 private void resolveLogLevel (ProcessingEnvironment processingEnv ) {
73- if (processingEnv .getOptions ().containsKey (LoggerContext .LOG_LEVEL_OPTION )) {
74- Level logLevel = Level .parse (processingEnv .getOptions ().get (LoggerContext .LOG_LEVEL_OPTION ));
76+ Map <String , String > options = processingEnv .getOptions ();
77+ if (options .containsKey (LOG_LEVEL_OPTION )) {
78+ Level logLevel = Level .parse (options .get (LOG_LEVEL_OPTION ));
7579 setCurrentLevel (logLevel );
7680 }
7781 }
7882
83+ private void addConsoleAppender (ProcessingEnvironment processingEnv ) {
84+ Map <String , String > options = processingEnv .getOptions ();
85+ if (options .containsKey (LOG_APPENDER_CONSOLE )) {
86+ if (Boolean .parseBoolean (options .get (LOG_APPENDER_CONSOLE ))) {
87+ appenders .add (new ConsoleAppender ());
88+ }
89+ }
90+ }
91+
7992}
0 commit comments