|
|
|
Logs
Action : was.logs (Category : was, Name : logs, By : kikonf)
Complete Name : was.logs.by.kikonf Version : 5.0 License : Modified BSD License Purpose of the was category : Easy to customize. This category use in background the wsadmin command in jython mode (through AdminConfig, AdminControl and AdminTask), to drive WebSphere Application Server ® configuration. You can use it to manage the whole WebSphere ® architecture. Purpose of this logs plugin : Tune the JVM logs directories The following shows the main Source Code File for the Action : was.logs Toggle lines ## Copyright (c) 2008, Patrick Germain Placidoux ## All rights reserved. ## ## This file is part of Kikonf Public Software. ## ## Kikonf Public Software is released under the modified BSD License, ## which should accompany it or any part of it in the file "COPYING". ## If you do not have this file you can access the license ## through the WWW at http://www.kikonf.org/license/bsd/license.txt. ## ## Home: http://www.kikonf.org ## Contact: kikonf@gmx.com from actions.was.tools import * class Logs(wasAction): def extract(self, scope_attrs=None, **keywords): self_funct='extract' scope_id, scope_attrs, scope=self.getScope(scope_attrs=scope_attrs, indent=self.getIndent()) self.verbose(scope_attrs) indent=self.getIndent() + 3*' ' logs_node=self.newTop() #-- because in extract mode, each call returns a new blank top node. #-- root_dir oids=getShowAsDict(AdminConfig.show(AdminConfig.showAttribute(scope_id, 'outputStreamRedirect'))) root_dir=oids['fileName'] if root_dir.find('/')>=0:sep='/' else:sep='\\' spl=root_dir.split(sep) if len(spl)>=2: if spl[0]=='':spl=spl[1:] root_dir=sep.join(spl[:-1]) #-- do_activity verbose('RASLoggingService listing.', level=self.getVerbose(), ifLevel=4, indent=indent, logFile=self.getLogFile()) ras = AdminConfig.list('RASLoggingService', scope_id) do_activity=AdminConfig.showAttribute(AdminConfig.showAttribute(ras, 'serviceLog'), 'enabled') logs_node.setAttrs(root_dir=root_dir, do_activity=do_activity) mkNodeScope(logs_node, scope_attrs, isUnique=True) oids=getShowAsDict(AdminConfig.show(AdminConfig.showAttribute(scope_id, 'outputStreamRedirect'))) # Tag: Stdout verbose('OutputStreamRedirect retreived.', level=self.getVerbose(), ifLevel=3, indent=indent, logFile=self.getLogFile()) logs_node.newNode('stdout', rollover_size=oids['rolloverSize'], max_backup_files=oids['maxNumberOfBackupFiles']) oids=getShowAsDict(AdminConfig.show(AdminConfig.showAttribute(scope_id, 'errorStreamRedirect'))) # Tag: Stderr verbose('ErrorStreamRedirect retreived.', level=self.getVerbose(), ifLevel=3, indent=indent, logFile=self.getLogFile()) logs_node.newNode('stderr', rollover_size=oids['rolloverSize'], max_backup_files=oids['maxNumberOfBackupFiles']) def inject(self): self_funct='inject' logs_node = self.getTop() logs_attrs = logs_node.getAttrs() scope_id, scope_attrs, scope=self.getScope(parent_node=logs_node, indent=self.getIndent()) #-- Retreives scope self.verbose(scope_attrs) indent=self.getIndent() + 3*' ' #-- Do activity ? cmdvalues = 'enabled', logs_attrs.do_activity verbose('RASLoggingService listing.', level=self.getVerbose(), ifLevel=4, indent=indent, logFile=self.getLogFile()) ras = AdminConfig.list('RASLoggingService', scope_id) oid = AdminConfig.showAttribute(ras, 'serviceLog') AdminConfig.modify(oid, cmdvalues) #-- Stdout if logs_node.hasNode('stdout'): attrs=logs_node.getNode('stdout')[0].getAttrs() cmdvalues=[] cmdvalues.append(['rolloverSize', attrs.rollover_size]) cmdvalues.append(['maxNumberOfBackupFiles', attrs.max_backup_files]) cmdvalues.append(['fileName', logs_attrs.root_dir + '/SystemOut.log']) oid = AdminConfig.showAttribute(scope_id, 'outputStreamRedirect') verbose('OutputStreamRedirect modifying.', level=self.getVerbose(), ifLevel=4, indent=indent, logFile=self.getLogFile()) AdminConfig.modify(oid, cmdvalues) verbose('OutputStreamRedirect modified.', level=self.getVerbose(), ifLevel=3, indent=indent, logFile=self.getLogFile()) #-- Stderr if logs_node.hasNode('stderr'): attrs=logs_node.getNode('stdout')[0].getAttrs() cmdvalues=[] cmdvalues.append(['rolloverSize', attrs.rollover_size]) cmdvalues.append(['maxNumberOfBackupFiles', attrs.max_backup_files]) cmdvalues.append(['fileName', logs_attrs.root_dir + '/SystemErr.log']) oid = AdminConfig.showAttribute(scope_id, 'errorStreamRedirect') verbose('ErrorStreamRedirect modifying.', level=self.getVerbose(), ifLevel=4, indent=indent, logFile=self.getLogFile()) AdminConfig.modify(oid, cmdvalues) verbose('ErrorStreamRedirect modified.', level=self.getVerbose(), ifLevel=3, indent=indent, logFile=self.getLogFile()) # - Treat Logs root_dir logs_attrs=logs_node.getAttrs() if logs_attrs.root_dir!=None:self.injLogsRootDir(logs_attrs.root_dir, indent=indent) def injLogsRootDir(self, root_dir, indent=None): scope_id, scope_attrs, scope=self.getScope() #-- Native Stdout/Stderr log cmdvalues=[] cmdvalues.append(['stderrFilename', root_dir + '/native_stderr.log']) cmdvalues.append(['stdoutFilename', root_dir + '/native_stdout.log']) verbose('JavaProcessDef listing.', level=self.getVerbose(), ifLevel=4, indent=indent, logFile=self.getLogFile()) pd = AdminConfig.list('JavaProcessDef', scope_id) oid = AdminConfig.showAttribute(pd,'ioRedirect') AdminConfig.modify(oid, cmdvalues) verbose('IoRedirect modified.', level=self.getVerbose(), ifLevel=3, indent=indent, logFile=self.getLogFile()) #-- RAS Logs cmdvalues='name', root_dir + '/activity.log' verbose('RASLoggingService listing.', level=self.getVerbose(), ifLevel=4, indent=indent, logFile=self.getLogFile()) ras = AdminConfig.list('RASLoggingService', scope_id) oid = AdminConfig.showAttribute(ras, 'serviceLog') verbose('ServiceLog modifying.', level=self.getVerbose(), ifLevel=4, indent=indent, logFile=self.getLogFile()) AdminConfig.modify(oid, cmdvalues) verbose('ServiceLog modified.', level=self.getVerbose(), ifLevel=3, indent=indent, logFile=self.getLogFile()) #-- Trace service log cmdvalues='fileName', root_dir + '/trace.log' verbose('TraceService listing.', level=self.getVerbose(), ifLevel=4, indent=indent, logFile=self.getLogFile()) traceService = AdminConfig.list('TraceService', scope_id) oid = AdminConfig.showAttribute(traceService,'traceLog') verbose('TraceLog modifying.', level=self.getVerbose(), ifLevel=4, indent=indent, logFile=self.getLogFile()) AdminConfig.modify(oid, cmdvalues) verbose('TraceLog modified.', level=self.getVerbose(), ifLevel=3, indent=indent, logFile=self.getLogFile()) #-- Transaction Service log cmdvalues='transactionLogDirectory', root_dir + '/tranlog' verbose('TransactionService listing.', level=self.getVerbose(), ifLevel=4, indent=indent, logFile=self.getLogFile()) oid = AdminConfig.list('TransactionService', scope_id) verbose('TransactionService modifying.', level=self.getVerbose(), ifLevel=4, indent=indent, logFile=self.getLogFile()) AdminConfig.modify(oid, cmdvalues) verbose('TransactionService modified.', level=self.getVerbose(), ifLevel=3, indent=indent, logFile=self.getLogFile()) #-- WebServer AccessLog cmdvalues='filePath', root_dir + '/http_access.log' verbose('HTTPAccessLoggingService listing.', level=self.getVerbose(), ifLevel=4, indent=indent, logFile=self.getLogFile()) webs = AdminConfig.list('HTTPAccessLoggingService', scope_id) oid = AdminConfig.showAttribute(webs, 'accessLog') verbose('AccessLog modifying.', level=self.getVerbose(), ifLevel=4, indent=indent, logFile=self.getLogFile()) AdminConfig.modify(oid, cmdvalues) verbose('AccessLog modified.', level=self.getVerbose(), ifLevel=3, indent=indent, logFile=self.getLogFile()) #-- WebServer ErrorLog cmdvalues='filePath', root_dir + '/http_error.log' oid = AdminConfig.showAttribute(webs, 'errorLog') verbose('ErrorLog modifying.', level=self.getVerbose(), ifLevel=4, indent=indent, logFile=self.getLogFile()) AdminConfig.modify(oid, cmdvalues) verbose('ErrorLog modified.', level=self.getVerbose(), ifLevel=3, indent=indent, logFile=self.getLogFile()) def verbose(self, scope_attrs): scope=str(scope_attrs).replace("'", '')[1:-1] verbose('Logs at scope:' + scope + '.', level=self.getVerbose(), ifLevel=2, indent=self.getIndent())
Trademarks :
|