Java中的记录器输入()方法与示例
Logger类的 entry ()方法用于记录方法条目。
根据传递的参数,有三种类型的 enter() 方法。
- entry(String sourceClass, String sourceMethod) : 这个方法是用来记录一个方法入口的。实际上在应用开发中很多时候我们在进入一个类的方法时需要记录,所以这是一个方便的方法,可以用来记录入口到一个方法。此方法记录消息“ENTRY”、日志级别 FINER,并且还会记录给定的 sourceMethod 和 sourceClass。
句法:
public void entering(String sourceClass, String sourceMethod)
参数:此方法接受两个参数:
- sourceClass是发出日志记录请求的类的名称,并且
- sourceMethod是正在输入的方法的名称。
返回值:此方法不返回任何内容。
下面的程序说明进入(String sourceClass, String sourceMethod) 方法:
方案一:// Java program to demonstrate // entering(String, String) method import java.io.IOException; import java.util.List; import java.util.logging.*; public class GFG { public static void main(String[] args) throws SecurityException, IOException { // Create a Logger Logger logger = Logger.getLogger( GFG.class.getName()); // Create a file handler object FileHandler handler = new FileHandler("logs.txt"); handler.setFormatter(new SimpleFormatter()); // Add file handler as // handler of logs logger.addHandler(handler); // set Logger level() logger.setLevel(Level.FINER); // call entering methods with class // name = GFG and method name = main logger.entering(GFG.class.getName(), "main"); // calling again for List class toString() logger.entering(List.class.getName(), "toString()"); } }
打印在 log.txg 文件上的输出如下所示。
输出: - entry(String sourceClass, String sourceMethod, Object param1) :该方法用于记录方法条目,其中一个参数传递的参数是我们要记录的对象。实际上,在应用程序开发中,当我们进入类的方法时,我们需要记录很多次,因此这是一种方便的方法,可用于记录方法的条目。此方法记录消息“ENTRY {0}”、日志级别 FINER,并记录给定的 sourceMethod、sourceClass 和参数。
句法:
public void entering(String sourceClass, String sourceMethod, Object param1)
参数:此方法接受三个参数:
- sourceClass是发出日志记录请求的类的名称,并且
- sourceMethod是正在输入的方法的名称。
- param1:是正在输入的方法的参数。
返回值:此方法不返回任何内容。
下面的程序说明进入(String sourceClass, String sourceMethod, Object param1) 方法:
方案一:
// Java program to demonstrate // entering(String, String, Object) method import java.io.IOException; import java.util.logging.*; public class GFG { public static void main(String[] args) throws SecurityException, IOException { // Create a Logger Logger logger = Logger.getLogger( GFG.class.getName()); // Create a file handler object FileHandler handler = new FileHandler("logs.txt"); handler.setFormatter(new SimpleFormatter()); // Add file handler as // handler of logs logger.addHandler(handler); // set Logger level() logger.setLevel(Level.FINER); // call entering method with class // name = GFG and method name = main logger.entering( GFG.class.getName(), "main", new String("Java is Platform Independent")); } }
log.txt 上打印的输出如下所示。
entry(String sourceClass, String sourceMethod, Object[] params) :此方法用于记录方法条目,带有参数数组。实际上,在应用程序开发中,当我们进入类的方法时,我们需要记录很多次,因此这是一种方便的方法,可用于记录方法的条目。此方法记录消息“ENTRY”(参数数组中每个条目的格式 {N} 指示符后跟)、日志级别 FINER,并记录给定的 sourceMethod、sourceClass 和参数。
句法:
public void entering(String sourceClass, String sourceMethod, Object[] params)
参数:此方法接受三个参数:
- sourceClass是发出日志记录请求的类的名称,并且
- sourceMethod是正在输入的方法的名称。
- params:是输入方法的参数数组。
返回值:此方法不返回任何内容。
下面的程序说明进入(String sourceClass, String sourceMethod, Object[] params) 方法:
方案一:// Java program to demonstrate // entering(String, String, Object[]) method import java.io.IOException; import java.util.logging.*; public class GFG { public static void main(String[] args) throws SecurityException, IOException { // Create a Logger Logger logger = Logger.getLogger( GFG.class.getName()); // Create a file handler object FileHandler handler = new FileHandler("logs.txt"); handler.setFormatter(new SimpleFormatter()); // Add file handler as // handler of logs logger.addHandler(handler); // set Logger level() logger.setLevel(Level.FINER); // create a array of String object String[] methods = { "main", "ADD", "get", "set" }; // call entering method with class // name = GFG and method name = main logger.entering(GFG.class.getName(), "main", methods); } }
log.txt 上打印的输出如下所示。
参考:
- https://docs.oracle.com/javase/10/docs/api/java Java .lang.String, Java Java)
- https://docs.oracle.com/javase/10/docs/api/java /util/logging/Logger.html#entering(java .lang.String, Java Java , Java Java)
- https://docs.oracle.com/javase/10/docs/api/ Java/util/logging/Logger.html#entering(Java.lang.String, Java.lang.String, Java.lang.Object%5B% 5D)