如何设置WebLogic生成的日志文件的权限?

在运维的过程中,有时我们需要以有别于启动WebLogic的用户去访问或收集日志等信息,以及时了解系统运行情况,这就要求日志文件的访问权限是允许其他用户访问的。一般情况下,新生成的文件默认权限是根据操作系统的umask的设置决定的。那如何改变WebLogic运行时产生的日志文件的访问权限呢?

如果通过操作系统的umask命令修改是不会生效的,因为在WebLgoic的启动脚本startWebLogic.sh中有类似这么一条命令“umask 022”,其覆盖了操作系统的设置。

比如startWebLogic.sh中设置了“umask 037”,那么生成的日志文件访问权限如下:

-bash-4.2$ ls -l
total 13164
-rw-r----- 1 oracle oracle     842 Jul 25 04:30 access.log
-rw-r----- 1 oracle oracle 2150626 Jul 27 10:35 AdminServer.log
-rw-r----- 1 oracle oracle  576289 Jul 27 10:35 base_domain.log

我们可以通过修改脚本中umask的值来控制日志等新生成文件的访问权限。

这个在WebLogic 11g上可以正常工作。但是在WebLogic 12.2.1.1.0 和12.2.1.2.0上即使设置了umask也不会生效,这是WebLogic的bug(Bug 24794915),此缺陷在12.2.1.3.0上已经修复。

在这两个版本(12.2.1.1.0 和12.2.1.2.0)上需要安装这个补丁。12.2.1.3.0上已经支持了下面的参数,不需要再安装补丁。

安装补丁后支持了一个参数-Dweblogic.DefaultLogFilePermissionsEnabled,其默认是true。

此参数的含义是当-Dweblogic.DefaultLogFilePermissionsEnabled=true,新生成的文件使用默认的文件访问权限640。如果设置-Dweblogic.DefaultLogFilePermissionsEnabled=false,那么新生成的文件的访问权限受startWebLogic.sh脚本中的umask设置的值控制,采用自定义的设置。

所有在WebLogic12.2.*版本上,需要在启动该参数中加上-Dweblogic.DefaultLogFilePermissionsEnabled=false,然后再修改startWebLogic.sh中的umask值。Java options一般在setDomainEnv.sh中设置。

这个参数控制的是WebLogic新生成的所有的文件,不仅仅是日志文件。

另外如果WebLogic Server是通过NodeManager启动的,需要在startNodeManager.sh脚本中设置。

原文地址:http://blog.51cto.com/comer/2154037

时间: 2024-09-28 16:28:00

如何设置WebLogic生成的日志文件的权限?的相关文章

JAVA生成TXT日志文件

1 /** 2 * 生成日志文件(文件的位置在Tomcat的安装路径下) 3 * @param str 4 */ 5 public static void LogForTXT(String str) { 6 try { 7 String dir = System.getProperty("user.dir") + File.separator + "系统日志"; 8 File fi = new File(dir); 9 if (!fi.exists()) { 10

log4j配置每天生成一个日志文件

首先需要配置web.xml里面: <servlet-name>log4j-init</servlet-name> <servlet-class>com.free.core.util.Log4j</servlet-class> <init-param> <param-name>log4j</param-name> <param-value>/WEB-INF/classes/logxml/log4j.xml<

logback中配置的日志文件的生成地址

配置文件如下 <?xml version="1.0" encoding="UTF-8"?> <configuration debug="false" scan="false"> <!-- 定义日志文件名称,与工程名一致 --> <property name="APP_NAME" value="PAS_Backstage1" /> <!

log4j不生成日志文件的问题

直接看我的注解吧 注意地址的斜杠,还有地址别写什么相对地址了,这包太老了,服务器update一下兼容问题就出来了. #第一个参数定义达到什么程度就输出 第二第三....第N 定义输出的类型 #debug<info<worn<error log4j.rootLogger=debug, stdout ,R ### direct log messages to stdout ### #stdout和日志台绑定 log4j.appender.stdout=org.apache.log4j.Con

Spring boot启动后没有生成日志文件问题排错

我的配置是: logging.file.name=spring-boot.log logging.file.path=D:/log/ 系统启动后日志文件没有生成 原因:一开始以为这两个属性是配合着使用的,所以两个都配置了,结果找不到生成的日志文件 经过多方查证,后来发现,这两个属性只需要配一个就行了 如果配置了: logging.file.name=D:/log/spring-boot.log #在D:/log/目录下生成一个日志文件spring-boot.log 则不需要配置: logging

日志文件配置与切割

日志文件配置与切割 自定义日志格式 http { server { listen          80 default; server_name     _*; access_log      logs/default.access.log combined; location / { index index.html; root  /data0/htdocs/htdocs; } } } 其中的  access_log,就是用来配置日志路径的, log_format 指令用于设置日志格式 如果

log4j配置输出到多个日志文件

通常我们项目里,有一些重要的日志想单独的输出到指定的文件,而不是全总输出到系统的日志文件中.那么我们log4j为我们提供了这种功能,以下我们来一步一步看是怎么做的.这里以property的配置方式写.xml方式类似,想了解的,能够看官方文档. 这里測试的项目包结构例如以下: log4j 主要由三部分组成:Loggers, Appenders 和Layouts,(appender 能够理解为输出的目的地) 咱们的log4j.properties或log4j.xml 里能够配置多个logger, 每

Log4net入门(回滚日志文件篇)

在上一篇Log4net(日志文件篇)中,我们使用"log4net.Appender.FileAppender"将日志信息输出到一个单一的文件中,随着应用程序的持续使用,该日志文件会越来越庞大,进而影响系统的性能.因此,有必要对日志文件按某种条件进行切分,要切分日志文件,我们可以使用"log4net.Appender.RollingFileAppender"输出源,使用该输出源我们可以按照文件大小或者日期对日志文件进行切分,下面我们分别描述之. 一.按文件大小切分日志

nginx(四)初识nginx日志文件

nginx 日志相关指令主要有两条,一条是log_format,用来设置日志格式,另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小,通俗的理解就是先用log_format来定义自己想用的日志格式,然后在用zccess_log定义虚拟主机时或全局日志时 在把定义的log_format 跟在后面: 1.log_format 格式 log_format       name( 格式名字)  格式样式(即想要得到什么样的日志内容) 默认的示例: log_format     m