public bool init(int argc, string[] argv) { if (!config.init(argc, argv)) { return(false); } logger.setMaxLevel((Logging.Level)config.serviceConfig.logLevel); logger.setPattern("%D %T %L "); logger.addLogger(consoleLogger); Logging.LoggerRef log = new Logging.LoggerRef(logger.functorMethod, "main"); if (!string.IsNullOrEmpty(config.serviceConfig.serverRoot)) { GlobalMembers.changeDirectory(config.serviceConfig.serverRoot); Math.Log(Logging.Level.INFO) << "Current working directory now is " << config.serviceConfig.serverRoot; } fileStream.open(config.serviceConfig.logFile, std::ofstream.app); if (fileStream == null) { throw new System.Exception("Couldn't open log file"); } fileLogger.attachToStream(fileStream); logger.addLogger(fileLogger); return(true); }