java - 如何从 JNativeHook 库中删除日志记录数据

标签 java

<分区>

我正在尝试在我的项目中使用 jnativehook 库。我想获取一个简单的数据(例如鼠标单击:2)而不是 jnativehook 生成的长日志数据,例如:

2015 年 5 月 31 日晚上 9:39:04 org.jnativehook.GlobalScreen$NativeHookThread 启用 信息:process_button_pressed [339]:按钮 1 按下 2 次。 (293, 661)

2015 年 5 月 31 日晚上 9:39:04 org.jnativehook.GlobalScreen$NativeHookThread 启用

鼠标点击:2

信息:process_button_released [361]:按钮 1 释放 2 次。 (293, 661)

最佳答案

如果您想从 JNativeHook 中删除垃圾日志:

// Clear previous logging configurations.
LogManager.getLogManager().reset();

// Get the logger for "org.jnativehook" and set the level to off.
Logger logger = Logger.getLogger(GlobalScreen.class.getPackage().getName());
logger.setLevel(Level.OFF);

例如,将其添加到。您的主类构造删除(几乎)所有日志记录。 现在让我们自己检测事件并打印一些基本信息。

首先,您必须注册 NativeHook:

 GlobalScreen.registerNativeHook();

然后给它绑定(bind)一些监听器,例如:

 GlobalScreen.getInstance().addNativeKeyListener(new YourMainClass());

然后像这样覆盖 JNativeHook 事件方法:

@Override
    public void nativeKeyPressed(NativeKeyEvent e) {
System.out.Println(((char) e.getKeyCode()) + " was pressed.")
}

checkout :JNativeHook GitHub,您会找到一些示例代码(例如 Global Mouse Listener 和有关它的事件的文档。

关于java - 如何从 JNativeHook 库中删除日志记录数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30560212/

相关文章:

java - 嵌入式 Nashorn - 沙箱执行

java - 运行play framework项目时VM初始化出错

java - 解密由 Java HttpsURLConnection 生成的 Wireshark 中的客户端 SSL 流量

java - 如何始终在 Recyclerview 中显示完整项目而不是项目的一部分?

java - 更改java控制台输出的颜色

java - 如何从 SVG 字符串获取 SVGDocument 对象?

java - 谁使用软件水印?

java - 使用 Android 加速度计确定恒定速度

java.lang.ClassNotFoundException : com. 太阳.faces.config.ConfigureListener

Java的最大线程数非常有限?