def prepareServerConfig(self): result = [] opts = options.getCastOptions() # define appenders sm = self.servers[self.selectedServer] appenders = sm['appenders'] for k,appndr in appenders.items(): result.append("#+ Section: " + appndr[0]) level = self.serverConsoleLevel if k == 'console' and level != 'OFF': conf = opts.getSection(appndr[0]) for ln in conf: ln = ln.replace('${LEVEL}', level) result.append(ln) level = self.serverXmlFileLevel if k == 'xmlfile' and level != 'OFF': self._prepareLogFile() conf = opts.getSection(appndr[0]) for ln in conf: ln = ln.replace('${LEVEL}', level) ln = ln.replace('${LOGFILE}', self.logFile) result.append(ln) # cleanup result = [ln.strip() for ln in result if not ln.strip().startswith("log4j.rootLogger=")] result = self._removeComments(result) # setup rootLogger self._insertRootLogger(result) self._prepareLogDir() try: f = open(self.serverConfigFile, "w") f.write("\n".join(result)) f.close() except Exception as e: logger.get().error("%s" % e) serverLink = os.path.join(self.logServerDir, self.logPropLink) try: if os.path.exists(serverLink): st = os.lstat(serverLink) if not stat.S_ISLNK(st.st_mode): os.rename(self.logPropLink, os.tempnam(self._logDir, "srv." + self.logPropLink)) os.remove(serverLink) os.symlink(self.serverConfigFile, serverLink) except Exception as e: logger.get().error("%s" % e)
def prepareClientConfig(self): opts = options.getCastOptions() sm = self.servers[self.selectedServer] result = [] appndr = sm['client-connect'] conf = opts.getSection(appndr[0]) result.append("#+ Section: " + appndr[0]) for ln in conf: if sm['id'] == 'console': ln = ln.replace('${LEVEL}', self.serverConsoleLevel) else: ln = ln.replace('${PORT}', self.serverPort) ln = ln.replace('${HOST}', self.serverHost) result.append(ln) result += self.readCustomLogLevels() # cleanup result = [ln.strip() for ln in result if not ln.strip().startswith("log4j.rootLogger=")] result = self._removeComments(result) # setup rootLogger self._insertRootLogger(result) clientfile = self.clientConfigFile self._prepareLogDir() try: f = open(clientfile, "w") f.write("\n".join(result)) f.close() except Exception as e: logger.get().error("%s" % e) try: if os.path.exists(self.logPropLink): st = os.lstat(self.logPropLink) if not stat.S_ISLNK(st.st_mode): os.rename(self.logPropLink, os.tempnam(self._logDir, "cli." + self.logPropLink)) os.remove(self.logPropLink) os.symlink(clientfile, self.logPropLink) except Exception as e: logger.get().error("%s" % e)
def _prepareLogFile(self): opts = options.getCastOptions() self._prepareLogDir() head = opts.getSection("LOG4J.SimpleSocketServer.XMLLayout.head") user = "******" now = time.strftime("%H:%M:%S", time.localtime(time.time())) result = [] for ln in head: ln = ln.replace('${USER}', user) ln = ln.replace('${NOW}', now) result.append(ln) result = self._removeComments(result) try: f = open(os.path.join(self._logDir, self._logFile), 'w') f.write("\n".join(result)) f.close() except Exception as e: logger.get().error("%s" % e)