Java中的 LogRecord setInstant() 方法及示例
Java.lang.reflect.LogRecord的setInstant()方法用于设置事件发生的时刻,这有助于即时记录日志事件。如果给定的瞬间表示时间线上的一个点在未来或过去太远而无法适应长毫秒和纳秒调整,则会引发算术异常。
句法:
public void setInstant(Instant instant)
参数:此方法接受事件发生的瞬间。
返回:此方法不返回任何内容。
异常:此方法将抛出以下异常:
- NullPointerException – 如果 Instant 为空。
- ArithmeticException – 如果在调用 instant.toEpochMilli() 时会发生数字溢出。
下面的程序说明了 setInstant() 方法:
方案一:
// Java program to illustrate
// setInstant() method
import java.time.Instant;
import java.util.logging.Level;
import java.util.logging.LogRecord;
public class GFG {
public static void main(String[] args)
{
// create a Instant object
Instant instant
= Instant.parse("2018-12-30T19:34:50.63Z");
// Create LogRecord object
LogRecord logRecord = new LogRecord(
Level.parse("800"),
"Hi Logger");
// set Instant time
logRecord.setInstant(instant);
System.out.println(
"Event Time "
+ logRecord.getInstant()
.toString());
}
}
输出:
Event Time 2018-12-30T19:34:50.630Z
方案二:
// Java program to illustrate
// setInstant() method
import java.time.Instant;
import java.util.logging.Level;
import java.util.logging.LogRecord;
public class GFG {
public static void main(String[] args)
{
// create a Instant object
Instant instant
= Instant.now();
// Create LogRecord object
LogRecord logRecord = new LogRecord(
Level.parse("800"),
"GFG Logger");
// set Instant time
logRecord.setInstant(instant);
System.out.println0(
"Event Time "
+ logRecord.getInstant()
.toString());
}
}
输出:
Event Time 2019-10-20T19:32:50.818428ZEvent Time 09 Sep 2001 07:16:39:900 +0530
参考资料: https: Java Java.time.Instant)