📜  Java中的记录器输入()方法与示例

📅  最后修改于: 2022-05-13 01:55:02.865000             🧑  作者: Mango

Java中的记录器输入()方法与示例

Logger类的 entry ()方法用于记录方法条目。

根据传递的参数,有三种类型的 enter() 方法。

  1. 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 文件上的输出如下所示。
    输出:

  2. 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 上打印的输出如下所示。

  3. 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)