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

时间:2015-05-31 17:13:10

标签: java

我正在尝试在我的project.i中使用jnativehook库。我想获得一个简单的数据(例如Mouse Clicked:2)而不是jnativehook生成的长记录数据:

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

2015年5月31日下午9:39:04 org.jnativehook.GlobalScreen $ NativeHookThread enable

鼠标点击:2

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

1 个答案:

答案 0 :(得分:4)

如果要从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();

然后绑定一些监听器,例如:

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

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

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

查看:JNativeHook GitHub,您会找到一些示例代码(例如 Global Mouse Listener以及有关此事件的文档。