System.Logger练习
内部类
练习java文档System.Logger.Level
方法
getName() 其实就是System.getLogger(“abc”) 里的abc
isLoggable() 检查某个等级是否不会被过滤
log(Level,Supplier) Supplier只要求他是一个函数式接口,返回的是一个String就行了,甚至只要是一个可以toString()的对象,就好了,但是返回的还是要是一个字符串
import java.util.logging.*; import java.io.*; import java.util.*; public class Test { public static void main(String[] args) throws IOException { //方法 System.Logger logger2 = System.getLogger("aa"); logger2.log(System.Logger.Level.WARNING, DiagnosisMessages::systemHealthStatus); } } class DiagnosisMessages { static String systemHealthStatus() { System.out.println("被调用了"); return new ArrayList(Arrays.asList(1,2,3)).toString(); } }
log(Level,String,Throwable)
log(Level,Supplier,Throwable)
log(Level,ResourceBundle,String,Throwable)
import java.util.logging.*; import java.io.*; import java.util.*; public class Test { public static void main(String[] args) throws IOException { System.Logger logger5 = System.getLogger("test"); logger5.log(System.Logger.Level.ERROR,"我爱可爱的妹纸",new Throwable("对的")); logger5.log(System.Logger.Level.ERROR,"我喜欢另一个妹纸",new Throwable("也对")); logger5.log(System.Logger.Level.ERROR,Supp::out,new Throwable("啊,大海")); ResourceBundle rb = ResourceBundle.getBundle("aaa"); logger5.log(System.Logger.Level.ERROR,rb,"water",new Throwable("水~")); } } class DiagnosisMessages { static String systemHealthStatus() { System.out.println("被调用了"); return new ArrayList(Arrays.asList(1,2,3)).toString(); } } class Supp { static String out() { return "Supplier.out"; } }
aaa_zh_CN.properties
water=你都是水!
import java.util.*; import java.util.logging.*; import static java.lang.System.Logger.Level.*; public class Test { public static void main(String[] args) throws Exception,Throwable { //Logger书上的练习 //获取System.Logger对象 System.Logger logger = System.getLogger("fkjava"); //设置系统日志级别(FINE对应DEBUG) Logger.getLogger("fkjava").setLevel(Level.OFF); //设置使用a.xml保存日志记录 Logger.getLogger("fkjava").addHandler(new FileHandler("a.xml")); logger.log(System.Logger.Level.DEBUG,"debug信息"); logger.log(System.Logger.Level.INFO,"info信息"); logger.log(System.Logger.Level.ERROR,"error信息"); System.Logger logger2 = System.getLogger("logger2"); Logger.getLogger("logger2").setLevel(Level.OFF); Logger.getLogger("logger2").addHandler(new FileHandler("b.xml")); logger2.log(System.Logger.Level.ERROR,"这是新的error信息"); logger2.log(System.Logger.Level.DEBUG,"这是新的debug信息"); logger2.log(System.Logger.Level.ERROR,"发生了严重的错误"); logger2.log(System.Logger.Level.INFO,"来自外星文明的信息。"); //自己练习一遍 System.Logger logger3 = System.getLogger("abc"); Logger.getLogger("abc").setLevel(Level.INFO); Logger.getLogger("abc").addHandler(new FileHandler("c.xml")); logger3.log(System.Logger.Level.ERROR,"abc发生了错误"); System.Logger logger4 = System.getLogger("na"); Logger.getLogger("na").setLevel(Level.FINE); Logger.getLogger("na").addHandler(new FileHandler("d.xml")); System.out.println(logger4.getName()); System.out.println(logger4.isLoggable(System.Logger.Level.DEBUG)); System.out.println(logger4.isLoggable(System.Logger.Level.ERROR)); System.out.println(logger4.isLoggable(System.Logger.Level.ALL)); logger4.log(System.Logger.Level.WARNING,new ArrayList<>(Arrays.asList(1,23,4))); logger4.log(System.Logger.Level.ERROR,new ArrayList<>(Arrays.asList(5,6,7))); logger4.log(System.Logger.Level.INFO,new ArrayList(Arrays.asList("我","你","他"))); logger4.log(System.Logger.Level.INFO,new ArrayList(Arrays.asList("流氓",32))); logger4.log(INFO,"我是杀生丸"); logger4.log(INFO,"我爱{0}","美女"); ResourceBundle bundle = ResourceBundle.getBundle("log"); System.out.println(bundle.getString("我爱美女")); logger4.log(INFO,bundle,"我爱美女","美女"); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)