草庐IT

java - 如何使用带有 log4j2 的 Java 日志记录来正确管理使用插件创建的日志文件的生命周期

我的团队正在为NetBeans开发一个插件,它使用日志记录到指定的文件。日志系统使用SLF4J+Log4J2;我所知道的唯一配置信息是一个log4j2.xml文件,其中包含插件的日志记录属性,以及以下内容:LoggerContextloggerContext=(LoggerContext)LogManager.getContext(false);loggerContext.reconfigure();(我使用SLF4J和NetBeans的事实与这里无关。)我的问题是,在插件启动时开始记录并在插件退出时停止记录的正确方法是什么?(JVM继续与NetBeans一起运行,因此日志文件不会自动

java - log4j2 错误无法识别的格式说明符 [t]

我有一个在Tomcat8上运行的Web应用程序的log4j2配置文件,如下所示/path/to/log/dirsomelogfile.log%d%p%c{1.}[%t]%m%n我看到我的Web应用程序写入了日志文件,但是线程名称的%t模式似乎无法解析,所以我得到了这样的日志语句2017-06-1020:34:51,696DEBUGs.p.n.SomeServlet[%t]somelogmessage注意我得到的是%t而不是线程名称因此,为了解决这个问题,我使用选项启动了Tomcat-Dorg.apache.logging.log4j.simplelog.StatusLogger.lev

java - 运行 fatjar 时无法加载 log4j2

我正在从事一个使用log4j2日志记录的项目。在intellij中开发时,一切正常,日志记录按预期完成。log4j2.xml通过在启动时通过intellij设置传递给jvm的java属性进行链接。但是一旦我尝试运行一个独立的gradle构建的fat-jar,我遇到了以下问题:java-Dlog4j.debug=true-Dlog4j.configurationFile=/home/aaa/log4j2.xml-jar/home/aaa/myjar-SNAPSHOT.jar异常(exception):ERRORStatusLoggerUnrecognizedformatspecifier

java - JSF 中 "Remember me"的 Cookie

我有一个登录页面,我想添加“记住我”功能;这样,如果用户注销并再次打开页面,则会加载他的用户名和密码。为此,当用户登录时(并选中“记住我”),我保存以下cookie:FacesContextfacesContext=FacesContext.getCurrentInstance();CookieuserCookie=newCookie("vtusername",username);userCookie.setMaxAge(3600);((HttpServletResponse)facesContext.getExternalContext().getResponse()).addCoo

java - Java 中的蓝牙 (J2SE)

我是蓝牙新手,这是我想做的事情,我想在我的电脑上获取连接到蓝牙的设备信息并将信息写入文件。我应该使用哪个api以及如何实现。我遇到了bluecove,但在一些搜索中我发现bluecove在64位电脑上不起作用。我现在应该怎么办。我希望它能在32位和64位电脑上运行。谢谢 最佳答案 JSR82API规范中包含oracle教程中推荐的蓝牙api。不过,我认为最新版本的BlueCove(2.1.1)包含适用于windows764的驱动程序。检查:http://snapshot.bluecove.org/distribution/downl

java - 如何删除旧的滚动 log4j2 日志,最多保留 10 个文件?

我想要的是:最多10个日志文件,总数每个日志文件,大小不超过50MB。因此日志文件夹永远不会超过(50MB*10)=500MB。但我的log4j2配置似乎没有正确完成。发生的事情是:日志在50MB后滚动但是每天最多保留10个日志因此日志文件夹中保存的日志文件数量没有限制(因为例如,在2天内,收集了20条50MB的日志)配置如下:%d%p%c{1.}[%t]%m%n我做错了什么? 最佳答案 从2.5开始,Log4j支持customDeleteaction在每次翻转时执行。您可以通过以下方式控制删除哪些文件:姓名(匹配glob或rege

Java ME (J2ME) 开发 : NetBeans vs Eclipse

我必须开发一个JavaME(以前称为J2ME)应用程序,它将利用蓝牙技术与其他移动设备上的其他实例进行通信。我知道NetBeans和Eclipse都提供了一个集成环境来开发JavaME应用程序。哪个更成熟稳重?哪一个提供更好的工具?我的应用程序必须与更多运行相同应用程序的设备进行通信,因此我需要使用多个运行它的模拟器实例来测试我的应用程序,并允许这些模拟器实例通过JavaME蓝牙API相互查看。我能做到吗? 最佳答案 我过去使用过Eclipse和Netbeans。对于我在大学最后一年的项目,我必须构建一个J2ME应用程序,它可以在多

java - 3.0 servlet 中的 Log4J2 配置

我尝试根据文档(和相关的SO问题)设置LOG4J,但它没有创建假定的文件,但WildFly中有这样的日志:NoLog4jcontextconfigurationprovided.Thisisveryunusual网络.xmllog4jConfigLocation/WEB-INF/classes/log4j2.xmlapp.war/WEB-INF/classes/log4j2.xmlc:/oauth.log%d%p%C{1.}[%t]%m%napp.war/WEB-INF/libcommons-logging-1.1.3.jarjson-smart-1.1.1.jarlog4j-api-

java - Shiro:remember me 是如何运作的?

我对Shiro的“记住我”功能有几个问题:为什么Shiro在每次登录时为同一个帐户生成不同的“记住我”token值?如果我使用默认的CipherKey,黑客是否能够为任何帐户生成“记住我”token?如何控制“记住我”的持续时间?按Cookie年龄?因此,如果客户端cookie永不过期,那么“记住我”cookie将永远有效? 最佳答案 Shiro的默认“记住我”功能非常有问题,原因正是您在此处找到的。这是一个很好的问题。当我开始深入研究它们的实现时,我发现了同样的问题。因为每次都使用随机IV“记住我”cookie仅包含“主体”,即您

java - 如何使 J2ME 应用程序在后台运行?

我编写了一个J2ME应用程序,它使用蓝牙并在对等移动设备中搜索文件并下载它。我想让我的应用程序在后台运行,每当我接到电话或消息并在几秒钟后恢复时,有没有人在这方面工作过请分享您的经验。有什么方法可以在后台运行Midlet吗? 最佳答案 要将j2me应用程序设置为后台,请在您的midlet类中使用以下内容:Display.getDisplay(this).setCurrent(null);要恢复屏幕,请使用以下命令:Display.getDisplay(this).setCurrent(myCanvas);myCanvas是您的Can