Caballero Posté(e) 7 mars 2010 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
blckhs_prd Posté(e) 8 mars 2010 Posté(e) 8 mars 2010 Tu n'utilises pas android.util.Log ?? http://developer.android.com/intl/fr/reference/android/util/Log.html Citer
Caballero Posté(e) 8 mars 2010 Auteur 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
cailro Posté(e) 7 avril 2010 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
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.