You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by al...@apache.org on 2013/11/21 02:05:31 UTC

svn commit: r1543998 - in /juddi/trunk/juddi-client.net: ./ juddi-client.net-sample/ juddi-client.net.test/ juddi-client.net.test/org.apache.juddi.client.test/ juddi-client.net/org.apache.juddi.v3.client/ juddi-installer/ juddi-installer/Properties/

Author: alexoree
Date: Thu Nov 21 01:05:30 2013
New Revision: 1543998

URL: http://svn.apache.org/r1543998
Log:
JUDDI-567 adding test cases for Loggers on .net. Loggers can now be chained together

Added:
    juddi/trunk/juddi-client.net/juddi-client.net.test/org.apache.juddi.client.test/LogFactoryTests.cs
    juddi/trunk/juddi-client.net/juddi-installer/
    juddi/trunk/juddi-client.net/juddi-installer/App.config
    juddi/trunk/juddi-client.net/juddi-installer/Program.cs
    juddi/trunk/juddi-client.net/juddi-installer/Properties/
    juddi/trunk/juddi-client.net/juddi-installer/Properties/AssemblyInfo.cs
    juddi/trunk/juddi-client.net/juddi-installer/juddi-installer-mono.csproj
    juddi/trunk/juddi-client.net/juddi-installer/juddi-installer.csproj
    juddi/trunk/juddi-client.net/juddi-installer/readme.txt
Modified:
    juddi/trunk/juddi-client.net/juddi-client.net-mono.sln
    juddi/trunk/juddi-client.net/juddi-client.net-sample/App.config
    juddi/trunk/juddi-client.net/juddi-client.net.sln
    juddi/trunk/juddi-client.net/juddi-client.net.test/juddi-client.net.test.csproj
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/ConsoleLogger.cs
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/EventLogger.cs
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/FileLogger.cs
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/Log.cs
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/LogFactory.cs

Modified: juddi/trunk/juddi-client.net/juddi-client.net-mono.sln
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net-mono.sln?rev=1543998&r1=1543997&r2=1543998&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net-mono.sln (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net-mono.sln Thu Nov 21 01:05:30 2013
@@ -20,6 +20,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "juddi-client.net.cryptor-mono", "juddi-client.net.cryptor\juddi-client.net.cryptor-mono.csproj", "{15F6DF2F-82AF-49AA-B449-6E21F8409845}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "juddi-installer-mono", "juddi-installer\juddi-installer-mono.csproj", "{DE0FBD9D-0DD0-4062-B2B3-6DD608F761A0}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -54,6 +56,10 @@ Global
 		{15F6DF2F-82AF-49AA-B449-6E21F8409845}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{15F6DF2F-82AF-49AA-B449-6E21F8409845}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{15F6DF2F-82AF-49AA-B449-6E21F8409845}.Release|Any CPU.Build.0 = Release|Any CPU
+		{DE0FBD9D-0DD0-4062-B2B3-6DD608F761A0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{DE0FBD9D-0DD0-4062-B2B3-6DD608F761A0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{DE0FBD9D-0DD0-4062-B2B3-6DD608F761A0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{DE0FBD9D-0DD0-4062-B2B3-6DD608F761A0}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

Modified: juddi/trunk/juddi-client.net/juddi-client.net-sample/App.config
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net-sample/App.config?rev=1543998&r1=1543997&r2=1543998&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net-sample/App.config (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net-sample/App.config Thu Nov 21 01:05:30 2013
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <configuration>
   <appSettings>
+    <!-- DEBUG, INFO, WARN, ERROR -->
     <add key="org.apache.juddi.v3.client.log.level" value="INFO" />
-    <!-- options are CONSOLE, EVENTLOG, FILE-->
+    <!-- options are CONSOLE, EVENTLOG, FILE. multiple values can be specified, comma delimited -->
     <add key="org.apache.juddi.v3.client.log.target" value="CONSOLE" />
-
+    <!-- only used when target=FILE -->
     <add key="org.apache.juddi.v3.client.log.logger.file" value="pathToOutputFile" />
   </appSettings>
 

Modified: juddi/trunk/juddi-client.net/juddi-client.net.sln
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net.sln?rev=1543998&r1=1543997&r2=1543998&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net.sln (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net.sln Thu Nov 21 01:05:30 2013
@@ -17,6 +17,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "juddi-client.net.cryptor", "juddi-client.net.cryptor\juddi-client.net.cryptor.csproj", "{15F6DF2F-82AF-49AA-B449-6E21F8409845}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "juddi-installer", "juddi-installer\juddi-installer.csproj", "{DE0FBD9D-0DD0-4062-B2B3-6DD608F761A0}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -51,6 +53,10 @@ Global
 		{15F6DF2F-82AF-49AA-B449-6E21F8409845}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{15F6DF2F-82AF-49AA-B449-6E21F8409845}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{15F6DF2F-82AF-49AA-B449-6E21F8409845}.Release|Any CPU.Build.0 = Release|Any CPU
+		{DE0FBD9D-0DD0-4062-B2B3-6DD608F761A0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{DE0FBD9D-0DD0-4062-B2B3-6DD608F761A0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{DE0FBD9D-0DD0-4062-B2B3-6DD608F761A0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{DE0FBD9D-0DD0-4062-B2B3-6DD608F761A0}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

Modified: juddi/trunk/juddi-client.net/juddi-client.net.test/juddi-client.net.test.csproj
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net.test/juddi-client.net.test.csproj?rev=1543998&r1=1543997&r2=1543998&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net.test/juddi-client.net.test.csproj (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net.test/juddi-client.net.test.csproj Thu Nov 21 01:05:30 2013
@@ -43,6 +43,7 @@
   <ItemGroup>
     <Compile Include="org.apache.juddi.client.test\CryptoTests.cs" />
     <Compile Include="org.apache.juddi.client.test\DigitalSignatureTests.cs" />
+    <Compile Include="org.apache.juddi.client.test\LogFactoryTests.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="org.apache.juddi.client.test\SerializationTests.cs" />
     <Compile Include="org.apache.juddi.client.test\WADL2UDDITests.cs" />

Added: juddi/trunk/juddi-client.net/juddi-client.net.test/org.apache.juddi.client.test/LogFactoryTests.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net.test/org.apache.juddi.client.test/LogFactoryTests.cs?rev=1543998&view=auto
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net.test/org.apache.juddi.client.test/LogFactoryTests.cs (added)
+++ juddi/trunk/juddi-client.net/juddi-client.net.test/org.apache.juddi.client.test/LogFactoryTests.cs Thu Nov 21 01:05:30 2013
@@ -0,0 +1,85 @@
+using NUnit.Framework;
+using org.apache.juddi.v3.client.log;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.IO;
+using System.Linq;
+using System.Text;
+
+namespace juddi_client.net.test
+{
+    [TestFixture]
+    public class LogFactoryTests
+    {
+        [Test]
+        public void testLogFactory()
+        {
+            Log log = LogFactory.getLog("testLogFactory", "CONSOLE", org.apache.juddi.v3.client.LogLevel.INFO, null);
+            Assert.NotNull(log);
+            log.info("test");
+            log.info("test", new Exception("hi"));
+        }
+
+        [Test]
+        public void testLogFactory2()
+        {
+            Log log = LogFactory.getLog("testLogFactory", "CONSOLE,EVENTLOG", org.apache.juddi.v3.client.LogLevel.INFO, null);
+            Assert.NotNull(log);
+            log.info("test");
+            log.info("test", new Exception("hi"));
+        }
+
+        [Test]
+        public void testLogFactory3()
+        {
+            if (File.Exists("./testlog.log"))
+                File.Delete("./testlog.log");
+            Log log = LogFactory.getLog("testLogFactory", "CONSOLE,EVENTLOG,FILE", org.apache.juddi.v3.client.LogLevel.INFO, "./testlog.log");
+            Assert.NotNull(log);
+            log.info("test");
+            log.info("test", new Exception("hi"));
+            Assert.True(File.Exists("./testlog.log"));
+            File.Delete("./testlog.log");
+            EventLog elog = null;
+            try
+            {
+                elog = new EventLog(EventLogger.EVENT_LOG_SOURCE);
+            }
+            catch (Exception ex) { }
+            Assume.That(elog != null);
+            Assert.True(elog.Entries.Count > 1);
+        }
+
+        [Test]
+        public void testLogFactory4()
+        {
+            if (File.Exists("./testlog.log"))
+                File.Delete("./testlog.log");
+            Log log = LogFactory.getLog("testLogFactory", "FILE", org.apache.juddi.v3.client.LogLevel.INFO, "./testlog.log");
+            Assert.NotNull(log);
+            log.info("test");
+            log.info("test", new Exception("hi"));
+            Assert.True(File.Exists("./testlog.log"));
+            File.Delete("./testlog.log");
+        }
+
+        [Test]
+        public void testLogFactory5()
+        {
+
+            Log log = LogFactory.getLog("testLogFactory", "EVENTLOG", org.apache.juddi.v3.client.LogLevel.INFO, null);
+            Assert.NotNull(log);
+            log.info("test");
+            log.info("test", new Exception("hi"));
+            EventLog elog = null;
+            try
+            {
+                elog = new EventLog(EventLogger.EVENT_LOG_SOURCE);
+            }
+            catch (Exception ex) { }
+            Assume.That(elog != null);
+            Assert.True(elog.Entries.Count > 1);
+        }
+    }
+}

Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/ConsoleLogger.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/ConsoleLogger.cs?rev=1543998&r1=1543997&r2=1543998&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/ConsoleLogger.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/ConsoleLogger.cs Thu Nov 21 01:05:30 2013
@@ -28,18 +28,29 @@ namespace org.apache.juddi.v3.client.log
     {
         private string name;
         private LogLevel level;
+        private Log downstream = null;
+        public void setDownstream(Log downstream)
+        {
+            this.downstream = downstream;
+        }
 
-        public ConsoleLogger(string name, LogLevel level)
+        public void setLevel(LogLevel level)
         {
-            
-            this.name = name;
             this.level = level;
         }
+
+        public void setName(string name)
+        {
+            this.name = name;
+        }
+
         public void info(string msg, Exception ex)
         {
             if (level.CompareTo(LogLevel.INFO) <= 0)
                 if (Console.Out != null)
                     Console.WriteLine(DateTime.Now.ToString("o") + " INFO [" + name + "] " + msg + " " + LogHelper.HandleException(ex));
+            if (downstream != null)
+                downstream.info(msg, ex);
         }
 
         public void info(string msg)
@@ -47,6 +58,8 @@ namespace org.apache.juddi.v3.client.log
             if (level.CompareTo(LogLevel.INFO) <= 0)
                 if (Console.Out != null)
                     Console.WriteLine(DateTime.Now.ToString("o") + " INFO [" + name + "] " + msg);
+            if (downstream != null)
+                downstream.info(msg);
         }
 
         public void warn(string msg, Exception ex)
@@ -54,6 +67,8 @@ namespace org.apache.juddi.v3.client.log
             if (level.CompareTo(LogLevel.WARN) <= 0)
                 if (Console.Out != null)
                     Console.WriteLine(DateTime.Now.ToString("o") + " WARN [" + name + "] " + msg + " " + LogHelper.HandleException(ex));
+            if (downstream != null)
+                downstream.warn(msg, ex);
         }
 
         public void warn(string msg)
@@ -61,6 +76,8 @@ namespace org.apache.juddi.v3.client.log
             if (level.CompareTo(LogLevel.WARN) <= 0)
                 if (Console.Out != null)
                     Console.WriteLine(DateTime.Now.ToString("o") + " WARN [" + name + "] " + msg);
+            if (downstream != null)
+                downstream.warn(msg);
         }
 
         public void error(string msg, Exception ex)
@@ -68,6 +85,8 @@ namespace org.apache.juddi.v3.client.log
             if (level.CompareTo(LogLevel.ERROR) <= 0)
                 if (Console.Out != null)
                     Console.WriteLine(DateTime.Now.ToString("o") + " ERROR [" + name + "] " + msg + " " + LogHelper.HandleException(ex));
+            if (downstream != null)
+                downstream.error(msg, ex);
         }
 
         public void error(string msg)
@@ -75,6 +94,8 @@ namespace org.apache.juddi.v3.client.log
             if (level.CompareTo(LogLevel.ERROR) <= 0)
                 if (Console.Out != null)
                     Console.WriteLine(DateTime.Now.ToString("o") + " ERROR [" + name + "] " + msg);
+            if (downstream != null)
+                downstream.error(msg); ;
         }
 
         public void debug(string msg, Exception ex)
@@ -82,6 +103,8 @@ namespace org.apache.juddi.v3.client.log
             if (level.CompareTo(LogLevel.DEBUG) <= 0)
                 if (Console.Out != null)
                     Console.WriteLine(DateTime.Now.ToString("o") + " DEBUG [" + name + "] " + msg + " " + LogHelper.HandleException(ex));
+            if (downstream != null)
+                downstream.debug(msg, ex);
         }
 
         public void debug(string msg)
@@ -89,6 +112,8 @@ namespace org.apache.juddi.v3.client.log
             if (level.CompareTo(LogLevel.DEBUG) <= 0)
                 if (Console.Out != null)
                     Console.WriteLine(DateTime.Now.ToString("o") + " DEBUG [" + name + "] " + msg);
+            if (downstream != null)
+                downstream.debug(msg);
         }
 
         public bool isDebugEnabled()
@@ -104,6 +129,9 @@ namespace org.apache.juddi.v3.client.log
                     Console.WriteLine(DateTime.Now.ToString("o") + " DEBUG [" + name + "] " + msg.ToString());
         }
 
-       
+
+
+
+        
     }
 }

Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/EventLogger.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/EventLogger.cs?rev=1543998&r1=1543997&r2=1543998&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/EventLogger.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/EventLogger.cs Thu Nov 21 01:05:30 2013
@@ -25,73 +25,121 @@ namespace org.apache.juddi.v3.client.log
     /// <author><a href="mailto:alexoree@apache.org">Alex O'Ree</a></author> 
     public class EventLogger : Log
     {
-        LogLevel level;
-        string name = "";
-        public EventLogger(String name, LogLevel level)
+
+        private string name;
+        private LogLevel level;
+        private Log downstream = null;
+        public static readonly string EVENT_LOG_SOURCE = "org.apache.juddi.client.net";
+        public void setDownstream(Log downstream)
+        {
+            this.downstream = downstream;
+        }
+
+        public void setLevel(LogLevel level)
         {
             this.level = level;
+        }
+
+        public void setName(string name)
+        {
             this.name = name;
+        }
+
+        /// <summary>
+        /// throws security exception if not ran as admin
+        /// </summary>
+        public static void RegisterLogSources()
+        {
+            if (!System.Diagnostics.EventLog.SourceExists(EVENT_LOG_SOURCE))
+            {
+                EventLog.CreateEventSource(EVENT_LOG_SOURCE, EVENT_LOG_SOURCE);
+            }
+
 
         }
-        public void info(string msg, Exception ex)
+
+        private void write(string msg, EventLogEntryType level)
         {
-            if (level.CompareTo(LogLevel.INFO) <= 0)
-                using (EventLog log = new EventLog("Application", "localhost", name))
+            try
+            {
+                using (EventLog log = new EventLog(EVENT_LOG_SOURCE))
                 {
-
-                    log.WriteEntry(DateTime.Now.ToString("o") + " INFO [" + name + "] " + msg + " " + LogHelper.HandleException(ex), EventLogEntryType.Information);
+                    log.Source = EVENT_LOG_SOURCE;
+                    log.WriteEntry(msg, level);
                 }
+            }
+            catch (Exception ex)
+            {
+                if (Console.Out != null)
+                    Console.Out.WriteLine("WARNING, could not log to windows event log, make sure " + EVENT_LOG_SOURCE + " is registered as a log source");
+                
+            }
+        }
+
+        public void info(string msg, Exception ex)
+        {
+            if (level.CompareTo(LogLevel.INFO) <= 0)
+                write(DateTime.Now.ToString("o") + " INFO [" + name + "] " + msg + " " + LogHelper.HandleException(ex), EventLogEntryType.Information);
+            if (downstream != null)
+                downstream.info(msg);
         }
 
         public void info(string msg)
         {
             if (level.CompareTo(LogLevel.INFO) <= 0)
-                using (EventLog log = new EventLog("Application", "localhost", name))
-                    log.WriteEntry(DateTime.Now.ToString("o") + " INFO [" + name + "] " + msg, EventLogEntryType.Information);
+                write(DateTime.Now.ToString("o") + " INFO [" + name + "] " + msg, EventLogEntryType.Information);
+            if (downstream != null)
+                downstream.info(msg);
         }
 
         public void warn(string msg, Exception ex)
         {
             if (level.CompareTo(LogLevel.WARN) <= 0)
-                using (EventLog log = new EventLog("Application", "localhost", name))
-                    log.WriteEntry(DateTime.Now.ToString("o") + " WARN [" + name + "] " + msg + " " + LogHelper.HandleException(ex), EventLogEntryType.Warning);
+                write(DateTime.Now.ToString("o") + " WARN [" + name + "] " + msg + " " + LogHelper.HandleException(ex), EventLogEntryType.Warning);
+            if (downstream != null)
+                downstream.warn(msg, ex);
         }
 
         public void warn(string msg)
         {
 
             if (level.CompareTo(LogLevel.WARN) <= 0)
-                using (EventLog log = new EventLog("Application", "localhost", name))
-                    log.WriteEntry(DateTime.Now.ToString("o") + " WARN [" + name + "] " + msg, EventLogEntryType.Warning);
+                write(DateTime.Now.ToString("o") + " WARN [" + name + "] " + msg, EventLogEntryType.Warning);
+            if (downstream != null)
+                downstream.warn(msg);
         }
 
         public void error(string msg, Exception ex)
         {
             if (level.CompareTo(LogLevel.ERROR) <= 0)
-                using (EventLog log = new EventLog("Application", "localhost", name))
-                    log.WriteEntry(DateTime.Now.ToString("o") + " ERROR [" + name + "] " + msg + " " + LogHelper.HandleException(ex), EventLogEntryType.Error);
+                write(DateTime.Now.ToString("o") + " ERROR [" + name + "] " + msg + " " + LogHelper.HandleException(ex), EventLogEntryType.Error);
+            if (downstream != null)
+                downstream.error(msg, ex);
         }
 
         public void error(string msg)
         {
             if (level.CompareTo(LogLevel.ERROR) <= 0)
-                using (EventLog log = new EventLog("Application", "localhost", name))
-                    log.WriteEntry(DateTime.Now.ToString("o") + " ERROR [" + name + "] " + msg, EventLogEntryType.Error);
+                write(DateTime.Now.ToString("o") + " ERROR [" + name + "] " + msg, EventLogEntryType.Error);
+            if (downstream != null)
+                downstream.error(msg);
         }
 
 
         public void debug(string msg, Exception ex)
         {
             if (level.CompareTo(LogLevel.DEBUG) <= 0)
-                using (EventLog log = new EventLog("Application", "localhost", name))
-                    log.WriteEntry(DateTime.Now.ToString("o") + " DEBUG [" + name + "] " + msg + " " + LogHelper.HandleException(ex), EventLogEntryType.Information);
+                write(DateTime.Now.ToString("o") + " DEBUG [" + name + "] " + msg + " " + LogHelper.HandleException(ex), EventLogEntryType.Information);
+            if (downstream != null)
+                downstream.debug(msg, ex);
         }
 
         public void debug(string msg)
         {
             if (level.CompareTo(LogLevel.DEBUG) <= 0)
-                using (EventLog log = new EventLog("Application", "localhost", name))
-                    log.WriteEntry(DateTime.Now.ToString("o") + " DEBUG [" + name + "] " + msg, EventLogEntryType.Information);
+                write(DateTime.Now.ToString("o") + " DEBUG [" + name + "] " + msg, EventLogEntryType.Information);
+            if (downstream != null)
+                downstream.debug(msg);
         }
 
         public bool isDebugEnabled()
@@ -103,8 +151,9 @@ namespace org.apache.juddi.v3.client.log
         public void debug(object msg)
         {
             if (level.CompareTo(LogLevel.DEBUG) <= 0)
-                using (EventLog log = new EventLog("Application", "localhost", name))
-                    log.WriteEntry(DateTime.Now.ToString("o") + " DEBUG [" + name + "] " + msg.ToString(), EventLogEntryType.Information);
+                write(DateTime.Now.ToString("o") + " DEBUG [" + name + "] " + msg.ToString(), EventLogEntryType.Information);
+            if (downstream != null)
+                downstream.debug(msg);
         }
 
 

Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/FileLogger.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/FileLogger.cs?rev=1543998&r1=1543997&r2=1543998&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/FileLogger.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/FileLogger.cs Thu Nov 21 01:05:30 2013
@@ -28,65 +28,104 @@ namespace org.apache.juddi.v3.client.log
     /// <author><a href="mailto:alexoree@apache.org">Alex O'Ree</a></author> 
     public class FileLogger : Log
     {
+        private string option = "juddi.log";
+
         private string name;
         private LogLevel level;
-        private string option;
+        private Log downstream = null;
+        public FileLogger() { }
+        public FileLogger(string option)
+        {
+            this.option = option;
+        }
+        public void setDownstream(Log downstream)
+        {
+            this.downstream = downstream;
+        }
 
-        public FileLogger(string name, LogLevel level, string option)
+        public void setLevel(LogLevel level)
         {
-            this.name = name;
             this.level = level;
+        }
+
+        public void setName(string name)
+        {
+            this.name = name;
+        }
+
+        public void setOption(string option)
+        {
             this.option = option;
-            if (String.IsNullOrEmpty(option))
-                option = "juddi.log";
         }
 
+
         public void info(string msg, Exception ex)
         {
             if (level.CompareTo(LogLevel.INFO) <= 0)
                 WriteEntry(DateTime.Now.ToString("o") + " INFO [" + name + "] " + msg + " " + LogHelper.HandleException(ex));
+            if (downstream != null)
+                downstream.info(msg, ex);
         }
 
-        private void WriteEntry(string p)
+        private void WriteEntry(string msg)
         {
             try
             {
+                if (!File.Exists(option))
+                {
+                    StreamWriter sw = File.CreateText(option);
+                    sw.Close();
+                    sw.Dispose();
+                }
                 using (StreamWriter sw = File.AppendText(option))
                 {
-                    sw.WriteLine(p);
+                    sw.WriteLine(msg);
                 }
             }
-            catch { }
+            catch (Exception ex){
+                Console.Out.WriteLine("Unable to log to " + option + "! " + ex.Message);
+            }
+
         }
 
         public void info(string msg)
         {
             if (level.CompareTo(LogLevel.INFO) <= 0)
                 WriteEntry(DateTime.Now.ToString("o") + " INFO [" + name + "] " + msg);
+            if (downstream != null)
+                downstream.info(msg);
         }
 
         public void warn(string msg, Exception ex)
         {
             if (level.CompareTo(LogLevel.WARN) <= 0)
                 WriteEntry(DateTime.Now.ToString("o") + " WARN [" + name + "] " + msg + " " + LogHelper.HandleException(ex));
+            if (downstream != null)
+                downstream.warn(msg, ex);
         }
 
         public void warn(string msg)
         {
             if (level.CompareTo(LogLevel.WARN) <= 0)
                 WriteEntry(DateTime.Now.ToString("o") + " WARN [" + name + "] " + msg);
+            if (downstream != null)
+                downstream.warn(msg);
         }
 
         public void error(string msg, Exception ex)
         {
             if (level.CompareTo(LogLevel.ERROR) <= 0)
                 WriteEntry(DateTime.Now.ToString("o") + " ERROR [" + name + "] " + msg + " " + LogHelper.HandleException(ex));
+            if (downstream != null)
+                downstream.error(msg, ex);
         }
 
         public void error(string msg)
         {
             if (level.CompareTo(LogLevel.ERROR) <= 0)
                 WriteEntry(DateTime.Now.ToString("o") + " ERROR [" + name + "] " + msg);
+            if (downstream != null)
+                downstream.error(msg);
         }
 
 
@@ -94,12 +133,16 @@ namespace org.apache.juddi.v3.client.log
         {
             if (level.CompareTo(LogLevel.DEBUG) <= 0)
                 WriteEntry(DateTime.Now.ToString("o") + " DEBUG [" + name + "] " + msg + " " + LogHelper.HandleException(ex));
+            if (downstream != null)
+                downstream.debug(msg, ex);
         }
 
         public void debug(string msg)
         {
             if (level.CompareTo(LogLevel.DEBUG) <= 0)
                 WriteEntry(DateTime.Now.ToString("o") + " DEBUG [" + name + "] " + msg);
+            if (downstream != null)
+                downstream.warn(msg);
         }
 
         public bool isDebugEnabled()
@@ -112,8 +155,10 @@ namespace org.apache.juddi.v3.client.log
         {
             if (level.CompareTo(LogLevel.DEBUG) <= 0)
                 WriteEntry(DateTime.Now.ToString("o") + " DEBUG [" + name + "] " + msg.ToString());
+            if (downstream != null)
+                downstream.warn(msg.ToString());
         }
 
-    
+
     }
 }

Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/Log.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/Log.cs?rev=1543998&r1=1543997&r2=1543998&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/Log.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/Log.cs Thu Nov 21 01:05:30 2013
@@ -36,7 +36,9 @@ namespace org.apache.juddi.v3.client.log
         void debug(string msg);
         bool isDebugEnabled();
         void debug(Object msg);
-       
+        void setDownstream(Log downstream);
+        void setLevel(LogLevel level);
+        void setName(String name);
     }
 
     /// <summary>

Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/LogFactory.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/LogFactory.cs?rev=1543998&r1=1543997&r2=1543998&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/LogFactory.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/LogFactory.cs Thu Nov 21 01:05:30 2013
@@ -27,7 +27,7 @@ namespace org.apache.juddi.v3.client.log
     /// and produces the appropriate logger
     /// </summary>
     /// <author><a href="mailto:alexoree@apache.org">Alex O'Ree</a></author> 
-    public class LogFactory :IDisposable
+    public class LogFactory
     {
         private static LogLevel level = LogLevel.WARN;
         private static String target = "CONSOLE";
@@ -47,10 +47,10 @@ namespace org.apache.juddi.v3.client.log
                     String s = "WARN";
                     s = System.Configuration.ConfigurationManager.AppSettings["org.apache.juddi.v3.client.log.level"];
                     if (String.IsNullOrEmpty(s))
-                        s = "INFO";
+                        s = "WARN";
                     level = (LogLevel)Enum.Parse(typeof(LogLevel), s);
                 }
-                catch 
+                catch
                 {
                     level = LogLevel.WARN;
                 }
@@ -58,11 +58,11 @@ namespace org.apache.juddi.v3.client.log
                 String target = "";
                 try
                 {
-                    target = System.Configuration.ConfigurationManager.AppSettings["org.apache.juddi.v3.client.log.targets"];
+                    target = System.Configuration.ConfigurationManager.AppSettings["org.apache.juddi.v3.client.log.target"];
                 }
-                catch 
+                catch
                 {
-                    level = LogLevel.WARN;
+                    target = "CONSOLE";
                 }
                 try
                 {
@@ -81,22 +81,46 @@ namespace org.apache.juddi.v3.client.log
             return getLogger(name);
         }
 
-        private static Log getLogger(String name)
+        public static Log getLog(String name, String targets, LogLevel level1, String options1)
         {
-            if (target.Equals("CONSOLE", StringComparison.CurrentCultureIgnoreCase))
-            {
-                return new ConsoleLogger(name, level);
-            }
-            else if (target.Equals("EVENTLOG", StringComparison.CurrentCultureIgnoreCase))
-            {
-                return new EventLogger(name, level);
-            }
-            else if (target.Equals("FILE", StringComparison.CurrentCultureIgnoreCase))
+            
+            return getLogger(name, targets, level1, options1);
+        }
+
+        private static Log getLogger(String name1, String targets1, LogLevel level1, String options1)
+        {
+            string[] targets = targets1.Split(',');
+            Log ret = null;
+            Log last = null;
+            for (int i = 0; i < targets.Length; i++)
             {
-                return new FileLogger(name, level, option);
+                last = ret;
+                if (targets[i].Equals("CONSOLE", StringComparison.CurrentCultureIgnoreCase))
+                {
+                    ret = new ConsoleLogger();
+
+                }
+                else if (targets[i].Equals("EVENTLOG", StringComparison.CurrentCultureIgnoreCase))
+                {
+                    ret = new EventLogger();
+                }
+                else if (targets[i].Equals("FILE", StringComparison.CurrentCultureIgnoreCase))
+                {
+                    ret = new FileLogger(options1);
+
+                }
+                else
+                    ret = new ConsoleLogger();
+                ret.setName(name1);
+                ret.setLevel(level1);
+                if (last != null)
+                    ret.setDownstream(last);
             }
-            else
-                return new ConsoleLogger(name, level);
+            return ret;
+        }
+        private static Log getLogger(String name)
+        {
+            return getLogger(name, target, level, option);
         }
 
         public static Log getLog(Type type)
@@ -106,9 +130,6 @@ namespace org.apache.juddi.v3.client.log
             //return new ConsoleLogger(type.Name, level);
         }
 
-        public void Dispose()
-        {
-            
-        }
+
     }
 }

Added: juddi/trunk/juddi-client.net/juddi-installer/App.config
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-installer/App.config?rev=1543998&view=auto
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-installer/App.config (added)
+++ juddi/trunk/juddi-client.net/juddi-installer/App.config Thu Nov 21 01:05:30 2013
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<configuration>
+    <startup> 
+        
+    <supportedRuntime version="v2.0.50727"/></startup>
+</configuration>

Added: juddi/trunk/juddi-client.net/juddi-installer/Program.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-installer/Program.cs?rev=1543998&view=auto
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-installer/Program.cs (added)
+++ juddi/trunk/juddi-client.net/juddi-installer/Program.cs Thu Nov 21 01:05:30 2013
@@ -0,0 +1,16 @@
+using org.apache.juddi.v3.client.log;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace juddi_installer
+{
+    class Program
+    {
+        static void Main(string[] args)
+        {
+            EventLogger.RegisterLogSources();
+        }
+    }
+}

Added: juddi/trunk/juddi-client.net/juddi-installer/Properties/AssemblyInfo.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-installer/Properties/AssemblyInfo.cs?rev=1543998&view=auto
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-installer/Properties/AssemblyInfo.cs (added)
+++ juddi/trunk/juddi-client.net/juddi-installer/Properties/AssemblyInfo.cs Thu Nov 21 01:05:30 2013
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("juddi-installer")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Hewlett-Packard")]
+[assembly: AssemblyProduct("juddi-installer")]
+[assembly: AssemblyCopyright("Copyright © Hewlett-Packard 2013")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("0e08fb3c-39e9-4225-a918-6fdbea18b848")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

Added: juddi/trunk/juddi-client.net/juddi-installer/juddi-installer-mono.csproj
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-installer/juddi-installer-mono.csproj?rev=1543998&view=auto
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-installer/juddi-installer-mono.csproj (added)
+++ juddi/trunk/juddi-client.net/juddi-installer/juddi-installer-mono.csproj Thu Nov 21 01:05:30 2013
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{DE0FBD9D-0DD0-4062-B2B3-6DD608F761A0}</ProjectGuid>
+    <OutputType>Exe</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>juddi_installer</RootNamespace>
+    <AssemblyName>juddi-installer</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <TargetFrameworkProfile />
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Runtime.Serialization" />
+    <Reference Include="System.ServiceProcess" />
+    <Reference Include="System.Web.Services" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Program.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="App.config" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\juddi-client.net\juddi-client.net-mono.csproj">
+      <Project>{c3d005cd-6c26-49fd-a4d8-08699b66af6f}</Project>
+      <Name>juddi-client.net-mono</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

Added: juddi/trunk/juddi-client.net/juddi-installer/juddi-installer.csproj
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-installer/juddi-installer.csproj?rev=1543998&view=auto
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-installer/juddi-installer.csproj (added)
+++ juddi/trunk/juddi-client.net/juddi-installer/juddi-installer.csproj Thu Nov 21 01:05:30 2013
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{DE0FBD9D-0DD0-4062-B2B3-6DD608F761A0}</ProjectGuid>
+    <OutputType>Exe</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>juddi_installer</RootNamespace>
+    <AssemblyName>juddi-installer</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <TargetFrameworkProfile />
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Runtime.Serialization" />
+    <Reference Include="System.ServiceProcess" />
+    <Reference Include="System.Web.Services" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Program.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="App.config" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\juddi-client.net\juddi-client.net.csproj">
+      <Project>{c3d005cd-6c26-49fd-a4d8-08699b66af6f}</Project>
+      <Name>juddi-client.net</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

Added: juddi/trunk/juddi-client.net/juddi-installer/readme.txt
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-installer/readme.txt?rev=1543998&view=auto
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-installer/readme.txt (added)
+++ juddi/trunk/juddi-client.net/juddi-installer/readme.txt Thu Nov 21 01:05:30 2013
@@ -0,0 +1 @@
+This simple program will register the juddi.net event log sources for logging to the windows event log. It must be ran as administrator
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@juddi.apache.org
For additional commands, e-mail: commits-help@juddi.apache.org