java - 解析使用跟踪器的 Java 属性文件中的用户名

标签 java properties-file

我正在尝试使用 Java Usage Tracker 来审核 Java 使用情况。查看以下信息:https://docs.oracle.com/javacomponents/usage-tracker/overview/

属性文件中的一个属性指定了日志的保存位置(用户的家庭位置):

# Settings for logging to a file:
# Use forward slashes (/) because backslash is an escape character in a
# properties file.
com.oracle.usagetracker.logToFile = ${user.home}/.java_usagetracker

这会正确创建文件:C:\Users\CURRENTUSER\.java_usagetracker。

如何将当前用户的登录名和/或主机名添加到文件中?

我试过:

com.oracle.usagetracker.logToFile = ${user.home}/${user.name}.java_usagetracker

和许多其他变体,但无法正确掷骰子。看来 user.name 是一个有效的属性(参见此处:https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html)

仅供引用:我试图将日志文件放在用户名不在路径中的网络位置,这就是为什么我需要在文件名中包含用户名。

最佳答案

如果你看Oracle's documentation您会看到他们只指定 ${user.home} 将被扩展。没有提到其他属性是允许的:

You can specify ${user.home} in the path name. The property will expand to the user's home directory. For example (ignore line break):

com.oracle.usagetracker.logToFile = ${user.home}/.java_usagetracker

关于java - 解析使用跟踪器的 Java 属性文件中的用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27236806/

相关文章:

java - 我无法将 css 文件链接到我的元素

java - com.fasterxml.jackson.databind.JsonMappingException 在成员类型和访问器方法不一致时通过引用链

java - 将Bundle的内容打印到Logcat?

java - 如何停止通过实现可运行接口(interface)创建的线程?

java - 从另一个文件夹读取属性文件时出现空指针

java - 将 <property-placeholder> 属性暴露给 Spring 环境

java - 未找到属性文件并引发异常?

java - 如何将属性文件中的类路径值赋予变量

java - Android Firebase - 根据微调器更改来自 firebase 的 ListView 数据

java - 如何按定义的顺序编写 Java 属性?