Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
    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)