如何使用 Jython 中的日志记录模块更改日志文件的读写执行权限

How to change read write execute permission of a log file using logging module in Jython

是否有文件处理程序可用于更改 Linux 中 Jython 脚本创建的日志文件的权限?以下是代码流程:

  1. Jython 脚本执行一些部署工作并登录到一个文件 它创建。这个脚本是 运行 使用特定的用户帐户,比方说 用户 1.
  2. 相同的 Jython 脚本继续使用一些其他部署内容 不同的用户帐户,比如 user2 和它所做的事情也是 登录到同一个文件。现在,此日志记录失败并出现 IOError 作为 日志文件只有 644 (rw-r--r--) 权限。日志文件由 #1 中提到的 user1 创建。
  3. Jython 脚本继续使用另一个用户 user3 并登录到 同一个文件。由于同样的问题,脚本再次抛出 IOError。

我想将日志文件的文件权限更改为 777。我该怎么做?是否有我可以用于此目的的日志文件处理程序?

错误:

IOError:[Errno 13] 权限被拒绝:'/home/path/....xyz.out'

代码:

LOG_FILENAME = str(propertyFile.getProperty("log_file_path"))
logging.basicConfig(filename=LOG_FILENAME, level=logging.DEBUG)
logging.debug("--Log Message--")

找到以下解决方案:

使用 os.chmod 上的 stat 模块设置权限。以下代码为用户、组和其他人设置对 RWX 的权限。 OR 条件负责为用户、组和其他人单独设置它。

代码:

LOG_FILENAME = str(propertyFile.getProperty("log_file_path"));
logging.basicConfig(filename=LOG_FILENAME, level=logging.DEBUG);
os.chmod(LOG_FILENAME, stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO);
logging.debug("--Log Message--");