aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Server
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Server')
-rw-r--r--OpenSim/Server/Base/ServicesServerBase.cs26
1 files changed, 20 insertions, 6 deletions
diff --git a/OpenSim/Server/Base/ServicesServerBase.cs b/OpenSim/Server/Base/ServicesServerBase.cs
index dee31bd..18f0f24 100644
--- a/OpenSim/Server/Base/ServicesServerBase.cs
+++ b/OpenSim/Server/Base/ServicesServerBase.cs
@@ -85,11 +85,13 @@ namespace OpenSim.Server.Base
85 argvConfig.AddSwitch("Startup", "logfile", "l"); 85 argvConfig.AddSwitch("Startup", "logfile", "l");
86 argvConfig.AddSwitch("Startup", "inifile", "i"); 86 argvConfig.AddSwitch("Startup", "inifile", "i");
87 argvConfig.AddSwitch("Startup", "prompt", "p"); 87 argvConfig.AddSwitch("Startup", "prompt", "p");
88 argvConfig.AddSwitch("Startup", "logconfig", "g");
88 89
89 // Automagically create the ini file name 90 // Automagically create the ini file name
90 // 91 //
91 string fileName = Path.GetFileNameWithoutExtension(Assembly.GetEntryAssembly().Location); 92 string fileName = Path.GetFileNameWithoutExtension(Assembly.GetEntryAssembly().Location);
92 string iniFile = fileName + ".ini"; 93 string iniFile = fileName + ".ini";
94 string logConfig = null;
93 95
94 IConfig startupConfig = argvConfig.Configs["Startup"]; 96 IConfig startupConfig = argvConfig.Configs["Startup"];
95 if (startupConfig != null) 97 if (startupConfig != null)
@@ -100,6 +102,9 @@ namespace OpenSim.Server.Base
100 // 102 //
101 // Check if a prompt was given on the command line 103 // Check if a prompt was given on the command line
102 prompt = startupConfig.GetString("prompt", prompt); 104 prompt = startupConfig.GetString("prompt", prompt);
105 //
106 // Check for a Log4Net config file on the command line
107 logConfig =startupConfig.GetString("logconfig",logConfig);
103 } 108 }
104 109
105 // Find out of the file name is a URI and remote load it 110 // Find out of the file name is a URI and remote load it
@@ -171,7 +176,15 @@ namespace OpenSim.Server.Base
171 OpenSimAppender consoleAppender = null; 176 OpenSimAppender consoleAppender = null;
172 FileAppender fileAppender = null; 177 FileAppender fileAppender = null;
173 178
174 XmlConfigurator.Configure(); 179 if ( logConfig != null )
180 {
181 FileInfo cfg = new FileInfo(logConfig);
182 XmlConfigurator.Configure(cfg);
183 }
184 else
185 {
186 XmlConfigurator.Configure();
187 }
175 188
176 ILoggerRepository repository = LogManager.GetRepository(); 189 ILoggerRepository repository = LogManager.GetRepository();
177 IAppender[] appenders = repository.GetAppenders(); 190 IAppender[] appenders = repository.GetAppenders();
@@ -207,11 +220,12 @@ namespace OpenSim.Server.Base
207 { 220 {
208 if (startupConfig != null) 221 if (startupConfig != null)
209 { 222 {
210 223 string cfgFileName = startupConfig.GetString("logfile", null);
211 fileName = startupConfig.GetString("logfile", fileName+".log"); 224 if (cfgFileName != null)
212 fileName = Path.GetFullPath(Path.Combine(".", fileName)); 225 {
213 fileAppender.File = fileName; 226 fileAppender.File = cfgFileName;
214 fileAppender.ActivateOptions(); 227 fileAppender.ActivateOptions();
228 }
215 } 229 }
216 } 230 }
217 231