使用 wsadmin scrpting 启用 NCSA 访问日志

Enabling NCSA access log with wsadmin scrpting

如何使用 wsadmin 脚本启用 NCSA 访问日志。

要在 WAS 控制台中查看 HTTP 通道的设置页面,我们执行以下步骤: 服务器 > 服务器类型 > WebSphere 应用程序服务器 > 服务器 > Web 容器设置 > Web 容器传输链 > 链 > HTTP 入站通道。

在控制台上,此任务没有管理帮助!! 谢谢

使用下面的代码片段。我为每个步骤添加了评论。

更新前两行 - serverName 和 chainName 在 运行 之前根据您的环境更新。

serverName = 'server1'
chainName = 'Chain'

#update this variable to true/false to toggle logging on/off
loggingEnabled = 'true'

#Get the server id
serverId = AdminConfig.getid('/Server:%s' %(serverName))

#Get the list of all Web Container transport chains
wcTransportChains = AdminTask.listChains(AdminConfig.list("TransportChannelService", serverId), '[-acceptorFilter WebContainerInboundChannel]').splitlines()

#Iterate the list and find the chain we are interested in 
for chain in wcTransportChains:
    if chain.startswith(chainName):
        #list all transport channles for this chain
        transportChannels = AdminConfig.showAttribute(chain, 'transportChannels').split(" ")
        #iterate the list and find HTTPInboundChannel to enable NCSA logging
        for channel in transportChannels:
            if channel.find('HTTPInboundChannel') != -1:
                #Enable logging config
                print ('\nEnabling NCSA logging for Transport Channel : %s on server : %s\n' %(AdminConfig.showAttribute(channel, 'name'), serverName))
                AdminConfig.modify(channel, [['enableLogging', loggingEnabled]])
            #end if
        #end for
    #end if
#end for

#save the changes
AdminConfig.save()