You are viewing a plain text version of this content. The canonical link for it is here.
Posted to nmaven-commits@incubator.apache.org by si...@apache.org on 2007/04/11 09:04:46 UTC
svn commit: r527423 - in
/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging: ./ src/
src/main/ src/main/csharp/ src/main/csharp/NMaven/
src/main/csharp/NMaven/Logging/
Author: sisbell
Date: Wed Apr 11 02:04:41 2007
New Revision: 527423
URL: http://svn.apache.org/viewvc?view=rev&rev=527423
Log:
Initial Import of .NET logging module. Need this to control the different output for the IDE: some loggers write the console, out output pane, etc.
Added:
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/NMaven.Logging.sln
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/pom.xml (with props)
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven.Logging.csproj
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/ConsoleHandler.cs
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/IHandler.cs
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/Level.cs
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/LogManager.cs
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/LogRecord.cs
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/Logger.cs
Added: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/NMaven.Logging.sln
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/NMaven.Logging.sln?view=auto&rev=527423
==============================================================================
--- incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/NMaven.Logging.sln (added)
+++ incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/NMaven.Logging.sln Wed Apr 11 02:04:41 2007
@@ -0,0 +1,16 @@
+Microsoft Visual Studio Solution File, Format Version 9.00
+# SharpDevelop 2.0.0.1710
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NMaven.Logging", "src\main\csharp\NMaven.Logging.csproj", "{7030f644-b1ab-4844-8f09-a6032f1f597c}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {7030F644-B1AB-4844-8F09-A6032F1F597C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7030F644-B1AB-4844-8F09-A6032F1F597C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7030F644-B1AB-4844-8F09-A6032F1F597C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7030F644-B1AB-4844-8F09-A6032F1F597C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ EndGlobalSection
+EndGlobal
Added: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/pom.xml?view=auto&rev=527423
==============================================================================
--- incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/pom.xml (added)
+++ incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/pom.xml Wed Apr 11 02:04:41 2007
@@ -0,0 +1,13 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0">
+ <parent>
+ <groupId>NMaven</groupId>
+ <version>0.14</version>
+ <artifactId>NMaven.Assemblies</artifactId>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>NMaven.Logging</groupId>
+ <artifactId>NMaven.Logging</artifactId>
+ <packaging>library</packaging>
+ <version>0.14</version>
+ <name>NMaven.Library</name>
+</project>
\ No newline at end of file
Propchange: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven.Logging.csproj
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven.Logging.csproj?view=auto&rev=527423
==============================================================================
--- incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven.Logging.csproj (added)
+++ incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven.Logging.csproj Wed Apr 11 02:04:41 2007
@@ -0,0 +1,31 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{7030f644-b1ab-4844-8f09-a6032f1f597c}</ProjectGuid>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <RootNameSpace>NMaven.Logging</RootNameSpace>
+ <AssemblyName>NMaven.Logging</AssemblyName>
+ <BaseIntermediateOutputPath>..\..\..\target\obj\</BaseIntermediateOutputPath>
+ <OutputType>Library</OutputType>
+ </PropertyGroup>
+ <PropertyGroup>
+ <OutputPath>..\..\..\target\bin\Debug\</OutputPath>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Folder Include="NMaven" />
+ <Folder Include="NMaven\Logging" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="NMaven\Logging\ConsoleHandler.cs" />
+ <Compile Include="NMaven\Logging\IHandler.cs" />
+ <Compile Include="NMaven\Logging\Level.cs" />
+ <Compile Include="NMaven\Logging\Logger.cs" />
+ <Compile Include="NMaven\Logging\LogManager.cs" />
+ <Compile Include="NMaven\Logging\LogRecord.cs" />
+ </ItemGroup>
+ <ItemGroup />
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
+</Project>
\ No newline at end of file
Added: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/ConsoleHandler.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/ConsoleHandler.cs?view=auto&rev=527423
==============================================================================
--- incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/ConsoleHandler.cs (added)
+++ incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/ConsoleHandler.cs Wed Apr 11 02:04:41 2007
@@ -0,0 +1,38 @@
+using System;
+using System.Runtime.CompilerServices;
+
+namespace NMaven.Logging
+{
+
+ public class ConsoleHandler : IHandler
+ {
+
+ private Level level;
+
+ public ConsoleHandler()
+ {
+ this.level = Level.INFO;
+ }
+
+ [MethodImpl(MethodImplOptions.Synchronized)]
+ public void publish(LogRecord record)
+ {
+ if(record.GetLevel().GetValue() >= level.GetValue())
+ {
+ Console.WriteLine(record.GetMessage());
+ }
+ }
+
+ [MethodImpl(MethodImplOptions.Synchronized)]
+ public void SetLevel(Level level)
+ {
+ this.level = level;
+ }
+
+ [MethodImpl(MethodImplOptions.Synchronized)]
+ public Level GetLevel()
+ {
+ return level;
+ }
+ }
+}
Added: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/IHandler.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/IHandler.cs?view=auto&rev=527423
==============================================================================
--- incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/IHandler.cs (added)
+++ incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/IHandler.cs Wed Apr 11 02:04:41 2007
@@ -0,0 +1,16 @@
+using System;
+
+namespace NMaven.Logging
+{
+ /// <summary>
+ /// Description of IHandler.
+ /// </summary>
+ public interface IHandler
+ {
+ void publish(LogRecord record);
+
+ void SetLevel(Level level);
+
+ Level GetLevel();
+ }
+}
Added: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/Level.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/Level.cs?view=auto&rev=527423
==============================================================================
--- incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/Level.cs (added)
+++ incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/Level.cs Wed Apr 11 02:04:41 2007
@@ -0,0 +1,38 @@
+using System;
+
+namespace NMaven.Logging
+{
+ public class Level
+ {
+
+ public static Level SEVERE = new Level("SEVERE", 10);
+
+ public static Level WARNING = new Level("WARNING", 9);
+
+ public static Level INFO = new Level("INFO", 8);
+
+ public static Level FINE = new Level("FINE", 7);
+
+ public static Level DEBUG = new Level("DEBUG", 6);
+
+ private String name;
+
+ private int value;
+
+ private Level(String name, int value)
+ {
+ this.name = name;
+ this.value = value;
+ }
+
+ public String GetName()
+ {
+ return name;
+ }
+
+ public int GetValue()
+ {
+ return value;
+ }
+ }
+}
Added: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/LogManager.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/LogManager.cs?view=auto&rev=527423
==============================================================================
--- incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/LogManager.cs (added)
+++ incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/LogManager.cs Wed Apr 11 02:04:41 2007
@@ -0,0 +1,34 @@
+using System;
+using System.Collections.Generic;
+using System.Runtime.CompilerServices;
+
+namespace NMaven.Logging
+{
+ public class LogManager
+ {
+
+ private List<Logger> loggers;
+
+ public LogManager()
+ {
+ loggers = new List<Logger>();
+ }
+
+ [MethodImpl(MethodImplOptions.Synchronized)]
+ public Logger GetLogger(String name)
+ {
+ foreach(Logger logger in loggers)
+ {
+ if(logger.getName().Equals(name))
+ return logger;
+ }
+ return null;
+ }
+
+ [MethodImpl(MethodImplOptions.Synchronized)]
+ public void addLogger(Logger logger)
+ {
+ loggers.Add(logger);
+ }
+ }
+}
Added: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/LogRecord.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/LogRecord.cs?view=auto&rev=527423
==============================================================================
--- incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/LogRecord.cs (added)
+++ incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/LogRecord.cs Wed Apr 11 02:04:41 2007
@@ -0,0 +1,30 @@
+using System;
+
+namespace NMaven.Logging
+{
+ /// <summary>
+ /// Description of LogRecord.
+ /// </summary>
+ public class LogRecord
+ {
+ private Level level;
+
+ private String message;
+
+ public LogRecord(Level level, String message)
+ {
+ this.level = level;
+ this.message = message;
+ }
+
+ public Level GetLevel()
+ {
+ return level;
+ }
+
+ public String GetMessage()
+ {
+ return message;
+ }
+ }
+}
Added: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/Logger.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/Logger.cs?view=auto&rev=527423
==============================================================================
--- incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/Logger.cs (added)
+++ incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Logging/src/main/csharp/NMaven/Logging/Logger.cs Wed Apr 11 02:04:41 2007
@@ -0,0 +1,58 @@
+using System;
+using System.Collections.Generic;
+using System.Runtime.CompilerServices;
+
+namespace NMaven.Logging
+{
+ public class Logger
+ {
+ private List<IHandler> handlers;
+
+ private String name;
+
+ private Logger(String name)
+ {
+ handlers = new List<IHandler>();
+ this.name = name;
+ }
+
+ [MethodImpl(MethodImplOptions.Synchronized)]
+ public static Logger GetLogger(String name)
+ {
+ LogManager logManager = new LogManager();
+ Logger logger = logManager.GetLogger(name);
+ if(logger == null)
+ {
+ logger = new Logger(name);
+ logManager.addLogger(logger);
+ }
+ return logger;
+ }
+
+ [MethodImpl(MethodImplOptions.Synchronized)]
+ public void Log(Level level, String msg)
+ {
+ Console.WriteLine("[LOG]" + msg);
+ LogRecord logRecord = new LogRecord(level, msg);
+ if(handlers.Count == 0)
+ {
+ handlers.Add(new ConsoleHandler());
+ }
+ foreach(IHandler handler in handlers)
+ {
+ handler.publish(logRecord);
+ }
+ }
+
+ [MethodImpl(MethodImplOptions.Synchronized)]
+ public void AddHandler(IHandler handler)
+ {
+ handlers.Add(handler);
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+ }
+}