package tws.component.log; /** * 配置Log输出参数的配置基类. * * <p> * <b>tips:</b> * <p> * 1. <em><strong>TwsLogBaseConfig</strong></em>是抽象类,不能直接初始化。<br/> * 2. 在项目中配置Log参数时,需要在 <b>src/tws/component/config</b> 中声明 <b>TwsLogConfig.java</b> 继承于<em><strong>TwsLogBaseConfig</strong></em>,然后实现所有的abstract抽象方法,配置所需的参数。<br/> * 3. 如果在项目中缺少 <b>TwsLogConfig.java</b> ,会发生RuntimeException。 * <p> * <b>demo:</b> * <p> * * <code> * <p> * package <strong><span style="color:#E53333;">tws.component.config;</span></strong><br/> * <br/> * <p> * public class <strong><span style="color:#E53333;">TwsLogConfig</span></strong> extends <em><strong>TwsLogBaseConfig</strong></em> {<br /> * <br /> * <br /> *     <span style="color:#006600;">/**</span><br /> * <span style="color:#006600;">      * 设置日志打印模式</span><br /> * <span style="color:#006600;">      * (参见Log输出模式常量)</span><br /> * <span style="color:#006600;">      * /</span><br /> *     @Override<br /> *     public int getLogMode() {<br /> *         return TwsLogBaseConfig.LOG_BOTH;<br /> *     }<br /> * <br /> *    <span style="color:#006600;">/**</span><br /> * <span style="color:#006600;">     * 设置日志的模块的包名</span><br /> * <span style="color:#006600;">     * (第三方模块请将其配置成自己对应的包名)</span><br /> * <span style="color:#006600;">     * /</span><br /> *     @Override<br /> *     public String getPackageName() {<br /> *         return "com.example.AndroidTest";    <span style="color:#E56600;">// 使用SDK的app的package name</span><br /> *     }<br /> * } * </p> * <div> * <br /> * </div> * <p> * <br /> * </p> * </code> */ public abstract class TwsLogBaseConfig { /** * Log输出模式常量:不打印任何日志 */ public static final int LOG_NONE = 0; /** * Log输出模式常量:将日志打印到控制台 */ public static final int LOG_CONSOLE = 1; /** * Log输出模式常量:将日志打印到文件 */ public static final int LOG_FILE = 2; /** * Log输出模式常量:将日志同时打印到控制台和文件 */ public static final int LOG_BOTH = 3; protected TwsLogBaseConfig() { } /** * 设置日志打印模式 * 注:行为等同Logcat,在AndroidManifest.xml文件中Debugable为false时不输入任何日志 * (参见Log输出模式常量) */ public abstract int getLogMode(); /** * 设置日志的模块的包名 * (第三方模块请将其配置成自己对应的包名) */ public abstract String getPackageName(); /** * release模式下是否上传日志 * (应用可重载来选择release版本是否上传日志) * @return */ public boolean reportInReleaseMode() { return false; } }