java - 在 SOAP 服务项目中创建文件
问题描述
我正在开发一个创建 SOAP 服务的 java 项目。我遇到的问题是,当我想从服务类创建文件时,在与客户端通信时,它会在我的桌面上创建。我希望它在我的项目文件夹中创建。
这是我创建文件的代码的一部分:
private static Logger LOGGER = Logger.getLogger(AttractionSetup.class.getName());
static{
try {
DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy-HH-mm-ss");
String date = dateFormat.format(new Date());
FileHandler handler = new FileHandler(File.separator + date + ".log", true);
LOGGER.addHandler(handler);
SimpleFormatter formatter = new SimpleFormatter();
handler.setFormatter(formatter);
} catch(IOException ex) {
ex.printStackTrace();
}
}
我需要这个文件来记录异常和错误,所以如果它在项目文件夹中会更有意义。如果有人可以解释为什么它会进入桌面,那将不胜感激。
解决方案
根据 Oracle 规范java.util.logging.FileHandler.pattern
指定输出文件的位置和模式。默认设置是您的主目录。
现在,您应该使用.properties
文件将配置外部化。完成所有必要的配置后,您可以设置文件位置,例如使用java.util.logging.FileHandler.pattern=/whole/path/of/logging.properties
.
参考:Oracle 规范
此致
推荐阅读
- excel - 如何在其工作表范围之外调用 ActiveX 过程?
- azure-functions - 从 Azure 函数发布到自定义端口
- c++ - Write IMU data to csv file using buffer and overflow buffer?
- aws-lambda - 嵌套 JSON 对象应如何从 CloudFormation 传递到 Lambda 函数?
- javascript - 尝试通过单击事件侦听器使用 Javascript 更改显示样式
- python - 如何对具有相同列和行的值求和
- python - 以下代码中的 * 符号是什么意思?
- css - rmagick 裁剪的图像在 Safari 的底部有黑条
- c++ - 如何从 C++ 中的一组数字中获得最大的整数?
- google-cloud-platform - 如何以非交互方式为 gcloud CLI 传递数据库密码?