
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条)