dar*_*ius 19
MicroLog肯定会打赌.它是一个像Log4j这样的Java ME(J2ME)的小型日志库.它支持记录到控制台,文件,RecordStore,Canvas,Form,蓝牙,串行端口(蓝牙,IR,USB),套接字(包括SSL),UDP,Syslog,MMS,SMS,电子邮件或Amazon S3 .
http://sourceforge.net/projects/microlog/
Jaa*_*iim 12
如果您正在使用Proguard进行预处理和混淆,那么您可以拥有一个简单的日志记录类.
public class Log {
public static void debug(final String message) {
//#if !release.build
System.out.println(message);
//#endif
}
}
Run Code Online (Sandbox Code Playgroud)
或者根据需要进行日志记录.现在,如果将release.build属性设置为true,则将注释掉此代码,这将导致一个空方法.Proguard将删除所有空方法的用法 - 实际上,release build将删除所有调试消息.
编辑:
在库级别上考虑它(我正在研究J2ME库的映射)我可能找到了一个更好的解决方案.
public class Log {
private static boolean showDebug;
public static void debug(final String message) {
if (showDebug) {
System.out.println(message);
}
}
public static void setShowDebug(final boolean show) {
showDebug = show;
}
}
Run Code Online (Sandbox Code Playgroud)
这样,最终开发人员可以在他/她感兴趣的库中启用日志级别.如果不启用任何内容,则将在最终产品模糊处理中删除所有日志记录代码.甜蜜的:)
/ JaanusSiim
小智 7
您可以在proguard中使用-assumenosideaffects来完成删除日志记录类:
-assumenosideeffects public class logger.Logger {*;}
Run Code Online (Sandbox Code Playgroud)
而不是必须预处理.
| 归档时间: |
|
| 查看次数: |
7919 次 |
| 最近记录: |