Skip to content

Commit eaca08a

Browse files
authored
Logs rewrite (#2)
* Moved Logs to own project * initial commit * Simplified Code * Changed Show to write to file * Added Error Type * Added Error and made public * Updated README.md
1 parent e2d2123 commit eaca08a

11 files changed

+152
-61
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<OutputType>Exe</OutputType>
5+
<TargetFramework>net7.0</TargetFramework>
6+
<ImplicitUsings>disable</ImplicitUsings>
7+
<Nullable>enable</Nullable>
8+
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
9+
<PackageId>Alex.CommonsLibrary.Logging</PackageId>
10+
<Title>C# Logging Agent</Title>
11+
<Version>1.0.0</Version>
12+
<Authors>Alex O'Brien</Authors>
13+
<Description>This is the logging component of my open source C# library</Description>
14+
<Copyright>Open Source</Copyright>
15+
<PackageProjectUrl>https://github.com/alex8obrien/CommonsLibrary</PackageProjectUrl>
16+
<PackageReadmeFile>README.md</PackageReadmeFile>
17+
<RepositoryUrl>https://github.com/alex8obrien/CommonsLibrary</RepositoryUrl>
18+
<RepositoryType>git</RepositoryType>
19+
<PackageTags>lib;library;c#;logging;logs</PackageTags>
20+
<PackageLicenseFile>LICENSE.md</PackageLicenseFile>
21+
</PropertyGroup>
22+
23+
<ItemGroup>
24+
<None Include="..\LICENSE.md">
25+
<Pack>True</Pack>
26+
<PackagePath>\</PackagePath>
27+
</None>
28+
<None Include="..\README.md">
29+
<Pack>True</Pack>
30+
<PackagePath>\</PackagePath>
31+
</None>
32+
</ItemGroup>
33+
34+
</Project>

CommonsLibrary.Logging/Error.cs

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
namespace CommonsLibrary.Logging
2+
{
3+
public class Error : LogBuilder
4+
{
5+
public Error(string error, string logMessage)
6+
{
7+
log = new Logs("ERR", error, logMessage);
8+
}
9+
10+
public override void BuildLogMessage()
11+
{
12+
}
13+
14+
public override void BuildError()
15+
{
16+
}
17+
}
18+
}

CommonsLibrary.Logging/Log.cs

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
namespace CommonsLibrary.Logging
2+
{
3+
public class Log : LogBuilder
4+
{
5+
public Log(string error, string logMessage)
6+
{
7+
log = new Logs("LOG", error, logMessage);
8+
}
9+
10+
public override void BuildLogMessage()
11+
{ }
12+
13+
public override void BuildError()
14+
{ }
15+
}
16+
}

CommonsLibrary.Logging/LogBuilder.cs

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
namespace CommonsLibrary.Logging
2+
{
3+
public abstract class LogBuilder
4+
{
5+
protected Logs log;
6+
7+
public Logs Log => log;
8+
9+
public abstract void BuildLogMessage();
10+
public abstract void BuildError();
11+
}
12+
}

CommonsLibrary.Logging/LogDirector.cs

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
namespace CommonsLibrary.Logging
2+
{
3+
public class Director
4+
{
5+
public void Construct(LogBuilder logBuilder)
6+
{
7+
logBuilder.BuildLogMessage();
8+
logBuilder.BuildError();
9+
}
10+
}
11+
}

CommonsLibrary.Logging/Logs.cs

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
using System.IO;
2+
using System;
3+
using System.Reflection;
4+
5+
namespace CommonsLibrary.Logging
6+
{
7+
public class Logs
8+
{
9+
private readonly DateTime _dt;
10+
private readonly string _logType;
11+
private readonly string _error;
12+
private readonly string _logMessage;
13+
14+
public Logs(string logType, string error, string message)
15+
{
16+
_dt = DateTime.Now;
17+
_logType = logType;
18+
_error = error;
19+
_logMessage = message;
20+
}
21+
22+
public void WriteToFile(string path)
23+
{
24+
Console.WriteLine($"DT: {_dt}");
25+
Console.WriteLine($"Logs Type: {_logType}");
26+
Console.WriteLine($"Logs Type: {_error}");
27+
Console.WriteLine($"Logs Message: {_logMessage}");
28+
29+
path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\" + path;
30+
if (string.IsNullOrEmpty(path) || !File.Exists(path)) throw new ArgumentNullException(path, "Path is null, empty or incorrect");
31+
32+
using StreamWriter writer = new(path, true);
33+
writer.WriteLine($"[{_logType} {_dt}] {_error}: {_logMessage}");
34+
}
35+
}
36+
}

CommonsLibrary.Logging/Warning.cs

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
namespace CommonsLibrary.Logging
2+
{
3+
public class Warning : LogBuilder
4+
{
5+
public Warning(string error, string logMessage)
6+
{
7+
log = new Logs("WRN", error, logMessage);
8+
}
9+
10+
public override void BuildLogMessage()
11+
{ }
12+
13+
public override void BuildError()
14+
{ }
15+
}
16+
}

CommonsLibrary.sln

+6
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ VisualStudioVersion = 17.4.33122.133
55
MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommonsLibrary", "CommonsLibrary\CommonsLibrary.csproj", "{6D71DDE9-529D-457D-AA54-771F876D8AE6}"
77
EndProject
8+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CommonsLibrary.Logging", "CommonsLibrary.Logging\CommonsLibrary.Logging.csproj", "{66CAB5ED-B37D-422F-95C0-28CD0345AD99}"
9+
EndProject
810
Global
911
GlobalSection(SolutionConfigurationPlatforms) = preSolution
1012
Debug|Any CPU = Debug|Any CPU
@@ -15,6 +17,10 @@ Global
1517
{6D71DDE9-529D-457D-AA54-771F876D8AE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
1618
{6D71DDE9-529D-457D-AA54-771F876D8AE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
1719
{6D71DDE9-529D-457D-AA54-771F876D8AE6}.Release|Any CPU.Build.0 = Release|Any CPU
20+
{66CAB5ED-B37D-422F-95C0-28CD0345AD99}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
21+
{66CAB5ED-B37D-422F-95C0-28CD0345AD99}.Debug|Any CPU.Build.0 = Debug|Any CPU
22+
{66CAB5ED-B37D-422F-95C0-28CD0345AD99}.Release|Any CPU.ActiveCfg = Release|Any CPU
23+
{66CAB5ED-B37D-422F-95C0-28CD0345AD99}.Release|Any CPU.Build.0 = Release|Any CPU
1824
EndGlobalSection
1925
GlobalSection(SolutionProperties) = preSolution
2026
HideSolutionNode = FALSE

CommonsLibrary/CommonsLibrary.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<ImplicitUsings>disable</ImplicitUsings>
66
<Nullable>enable</Nullable>
77
<Title>C# Commons Library</Title>
8-
<Version>3.1.0</Version>
8+
<Version>4.0.0</Version>
99
<Authors>Alex O'Brien</Authors>
1010
<PackageProjectUrl>https://github.com/alex8obrien/CommonsLibrary</PackageProjectUrl>
1111
<PackageReadmeFile>README.md</PackageReadmeFile>

CommonsLibrary/Logs.cs

-59
This file was deleted.

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
# Commons Library
22

33
This is my commons library for all of my personal C# projects.
4+
It Contains CommonsLibrary for general libraries and CommonsLibrary.Logging for C# logging.
45

56
## Index
67

78
- [Standard Input](https://github.com/alex8obrien/CommonsLibrary/blob/master/CommonsLibrary/StdInp.cs)
89
- [Standard Output](https://github.com/alex8obrien/CommonsLibrary/blob/master/CommonsLibrary/StdOut.cs)
9-
- [Logging](https://github.com/alex8obrien/CommonsLibrary/blob/master/CommonsLibrary/Logs.cs)
10+
- [Logging Project](https://github.com/alex8obrien/CommonsLibrary/blob/master/CommonsLibrary/Logs.cs)
1011
- [File Input/Output](https://github.com/alex8obrien/CommonsLibrary/blob/master/CommonsLibrary/FileIO.cs)
1112
- [Maths](https://github.com/alex8obrien/CommonsLibrary/blob/master/CommonsLibrary/Maths.cs)
1213

0 commit comments

Comments
 (0)