Caballero Posté(e) 7 mars 2010 Share Posté(e) 7 mars 2010 Pour ceux qui ont l'habitude d'utiliser l'API log4j, lors de développements d'applications Java, j'ai fait cette petite classe qui ressemble à celle du Logger de log4j. import android.util.Log; public class Logger { public static final Logger getLogger(Class<?> c){ return new Logger(c); } public static final Logger getLogger(String tag){ return new Logger(tag); } private String tag; private Logger(Class<?> c){ if(c == null){ c = Thread.currentThread().getClass(); } this.tag = c.getName(); } private Logger(String tag){ if(tag == null || "".equals(tag)){ tag = Thread.currentThread().getClass().getName(); } this.tag = tag; } public boolean isTraceEnabled(){ return Log.isLoggable(tag, Log.VERBOSE); } public boolean isDebugEnabled(){ return Log.isLoggable(tag, Log.DEBUG); } public boolean isInfoEnabled(){ return Log.isLoggable(tag, Log.INFO); } public boolean isWarnEnabled(){ return Log.isLoggable(tag, Log.WARN); } public boolean isErrorEnabled(){ return Log.isLoggable(tag, Log.ERROR); } public void trace(String msg){ Log.v(tag, msg); } public void trace(String msg, Throwable t){ Log.v(tag, msg, t); } public void debug(String msg){ Log.d(tag, msg); } public void debug(String msg, Throwable t){ Log.d(tag, msg, t); } public void info(String msg){ Log.i(tag, msg); } public void info(String msg, Throwable t){ Log.i(tag, msg, t); } public void warn(String msg){ Log.w(tag, msg); } public void warn(String msg, Throwable t){ Log.w(tag, msg, t); } public void error(String msg){ Log.e(tag, msg); } public void error(String msg, Throwable t){ Log.e(tag, msg, t); } } Comment l'utiliser ? Déclarer au besoin dans chacun de vos classes : private static final Logger logger = Logger.getLogger(MaClass.class); et après, dans le code, logger.debug("bla bla bla");, logger.error("Exception catchée", e); etc ... Bien évidemment, pour ceux qui ne connaissent pas log4j, vous allez trouver ça inutile. Voila :) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
blckhs_prd Posté(e) 8 mars 2010 Share Posté(e) 8 mars 2010 Tu n'utilises pas android.util.Log ?? http://developer.android.com/intl/fr/reference/android/util/Log.html Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Caballero Posté(e) 8 mars 2010 Auteur Share Posté(e) 8 mars 2010 sisi, mais par le biais de la classe que je vous propose ;) si tu regardes bien : public void debug(String msg){ Log.d(tag, msg); } Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
cailro Posté(e) 7 avril 2010 Share Posté(e) 7 avril 2010 Bonjour, Merci pour la classe que tu propose. Je suis actuellement sur un projet dans lequel je dois faire la migration d'une API de java standart à android. l'API utilise actuellement sous J2SE Log4j comme système de journalisation et de débuggage. j'aurais donc aimé savoir s'il est possible d'utiliser ta classe exactement comme log4j, c'est à dire utiliser des appenders et les layouts dans un fichier de config sous androi. Dans un cadre plus large , est-il possible d'esternaliser les log d'android hors du logcat ( dans un fichier par exemple)? Merci d'avance Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.