我正在运行一个使用 log4j 的程序。log4j 使用滚动文件附加器。但是它无法创建文件。
我猜是因为创建文件需要 root 访问权限。
该程序在文件夹 /usr/src/hell0/myProgram 中运行,日志文件需要存储在 /usr/src/logFiles/myprogram.log 中。
但它并没有将其存储在那里,而是将所有内容都发送到系统中
答案1
如果无法以 root 身份打开应用程序(sudo 应用程序名称),然后您可以更改该文件夹的所有权,例如:
sudo chown user:user /usr/src/logFiles
sudo chmod +r+w -R /usr/src/logFiles
(将 user:user 更改为您的用户名)
答案2
您可以使文件夹 /usr/src/logFiles 对运行该程序的用户可写。
一个例子是:
[sudo] chmod 755 /usr/src/logFiles
然后,无论何时执行该程序,它都会对该文件夹具有写权限。
sudo 部分可能是可选的,取决于您是否已经在 /usr/src/ 中拥有写权限。
不过一般来说,如果可以的话,在主目录的子目录中运行该程序会少很多麻烦,而且您的用户还有读/写权限。