Skip to content

Commit 4e1abd0

Browse files
author
mwatson
committed
Misc updates
1 parent 4eb3efa commit 4e1abd0

File tree

15 files changed

+179
-56
lines changed

15 files changed

+179
-56
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Threading.Tasks;
5+
using Microsoft.Extensions.Logging;
6+
using StackifyLib.CoreLogger;
7+
8+
namespace CoreWebApp
9+
{
10+
public class ApplicationLogging
11+
{
12+
private static ILoggerFactory _Factory = null;
13+
14+
public static void ConfigureLogger(ILoggerFactory factory)
15+
{
16+
factory.AddDebug(LogLevel.None).AddStackify();
17+
factory.AddFile("logFileFromHelper.log"); //serilog file extension
18+
}
19+
20+
public static ILoggerFactory LoggerFactory
21+
{
22+
get
23+
{
24+
if (_Factory == null)
25+
{
26+
_Factory = new LoggerFactory();
27+
ConfigureLogger(_Factory);
28+
}
29+
return _Factory;
30+
}
31+
set { _Factory = value; }
32+
}
33+
public static ILogger<T> CreateLogger<T>() => LoggerFactory.CreateLogger<T>();
34+
}
35+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Net.Http;
5+
using System.Threading.Tasks;
6+
using Microsoft.Extensions.Logging;
7+
8+
namespace CoreWebApp.Controllers
9+
{
10+
public class SomeOtherClass
11+
{
12+
public SomeOtherClass()
13+
{
14+
}
15+
16+
public async Task<string> DoBadWebRequest()
17+
{
18+
try
19+
{
20+
using (HttpClient hc = new HttpClient())
21+
{
22+
var data = await hc.GetStringAsync("https://stackify.comm");
23+
return data;
24+
}
25+
}
26+
catch (Exception ex)
27+
{
28+
var logger = ApplicationLogging.CreateLogger<SomeOtherClass>();
29+
logger.LogError("Error! " + ex.ToString());
30+
}
31+
32+
return null;
33+
}
34+
}
35+
}

Src/CoreWebApp/Controllers/ValuesController.cs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
using System.Linq;
44
using System.Threading.Tasks;
55
using Microsoft.AspNetCore.Mvc;
6+
using Microsoft.Extensions.DependencyInjection;
7+
using Microsoft.Extensions.Logging;
68
using NLog;
79

810
namespace CoreWebApp.Controllers
@@ -11,11 +13,15 @@ namespace CoreWebApp.Controllers
1113
public class ValuesController : Controller
1214
{
1315
static NLog.Logger nlog = LogManager.GetCurrentClassLogger();
14-
// GET api/values
16+
17+
private static ILogger<ValuesController> _Logger = ApplicationLogging.CreateLogger<ValuesController>();
18+
1519
[HttpGet]
1620
public IEnumerable<string> Get()
1721
{
18-
nlog.Debug("Callng Get() method");
22+
// nlog.Debug("Callng Get() method");
23+
24+
_Logger.LogError("From helper method");
1925

2026
try
2127
{
@@ -26,6 +32,9 @@ public IEnumerable<string> Get()
2632
nlog.Error(ex, "Uh oh");
2733
}
2834

35+
SomeOtherClass soc = new SomeOtherClass();
36+
soc.DoBadWebRequest();
37+
2938
return new string[] { "value1", "value2" };
3039
}
3140

Src/CoreWebApp/Startup.cs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,16 @@ public void ConfigureServices(IServiceCollection services)
6161
/// <param name="loggerFactory"></param>
6262
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
6363
{
64-
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
65-
loggerFactory.AddDebug(LogLevel.Debug);
66-
loggerFactory.ConfigureNLog("nlog.config");
67-
// app.ApplicationServices.GetService()
68-
loggerFactory.AddStackify();
64+
ApplicationLogging.ConfigureLogger(loggerFactory);
65+
ApplicationLogging.LoggerFactory = loggerFactory;
66+
67+
//Debug.WriteLine(Environment.StackTrace);
68+
//loggerFactory.AddConsole(Configuration.GetSection("Logging"));
69+
//loggerFactory.AddDebug(LogLevel.None);
70+
//loggerFactory.AddFile("mylogfile.log", LogLevel.Debug);
71+
////loggerFactory.ConfigureNLog("nlog.config");
72+
//// app.ApplicationServices.GetService()
73+
//loggerFactory.AddStackify();
6974
// loggerFactory.AddNLog();
7075
// loggerFactory.AddSerilog();
7176

Src/CoreWebApp/project.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,13 @@
1818
"NLog": "5.0.0-beta05",
1919
"NLog.Extensions.Logging": "1.0.0-rtm-beta2",
2020
"Serilog": "2.4.0",
21-
"StackifyLib": "1.25.4",
21+
"StackifyLib": "2-*",
2222
"StackifyLib.CoreLogger": "1.0.0-*",
23-
"NLog.Targets.Stackify": "1.25.4",
24-
"StackifyLib.log4net": "1.25.4",
23+
"NLog.Targets.Stackify": "2-*",
24+
"StackifyLib.log4net": "2-*",
2525
"Serilog.Extensions.Logging": "1.4.0",
26-
"StackifyLib.AspNetCore": "1.0.0-*"
26+
"StackifyLib.AspNetCore": "2-*",
27+
"Serilog.Extensions.Logging.File": "1.0.0"
2728
},
2829

2930
"tools": {

Src/NLog.Targets.Stackify/project.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"version": "1.25.4",
2+
"version": "2.0.0-beta1",
33

44
"title": "NLog.Targets.Stackify",
55

@@ -12,14 +12,14 @@
1212
},
1313

1414
"dependencies": {
15-
"StackifyLib": "1.25.4"
15+
"StackifyLib": "2.0.0-*"
1616
},
1717

1818
"frameworks": {
1919
"netstandard1.3": {
2020
"dependencies": {
2121
"NLog": "5.0.0-beta05"
22-
}
22+
}
2323
},
2424
"net40": {
2525
"dependencies": {

Src/Package everything.bat

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
dotnet pack StackifyLib\project.json -c Release -o ..\BuildOutput
2+
dotnet pack StackifyLib.AspNetCore\project.json -c Release -o ..\BuildOutput
3+
dotnet pack NLog.Targets.Stackify\project.json -c Release -o ..\BuildOutput
4+
dotnet pack StackifyLib.CoreLogger\project.json -c Release -o ..\BuildOutput
5+
dotnet pack StackifyLib.log4net\project.json -c Release -o ..\BuildOutput
6+
dotnet pack StackifyLib.StackifyTraceListener\project.json -c Release -o ..\BuildOutput
7+
8+
dotnet pack C:\BitBucket\Serilog.Sinks.Stackify\Serilog.Sinks.Stackify\project.json -c Release -o C:\BitBucket\stackify-api-dotnet\BuildOutput

Src/StackifyLib.AspNetCore/project.json

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,24 @@
11
{
2-
"version": "1.0.0-*",
2+
"version": "2.0.0-beta1",
3+
4+
"title": "StackifyLib for AspNetCore",
5+
6+
"packOptions": {
7+
"owners": [ "stackify_matt", "jtaylorstackify" ],
8+
"tags": [ "stackify", "metrics", "errors", "logs" ],
9+
"summary": "Needed to append ASP.NET Core web request details on .NET exceptions"
10+
},
311

412
"dependencies": {
5-
"NETStandard.Library": "1.6.0",
13+
"NETStandard.Library": "1.6.1",
614
"Microsoft.Extensions.Configuration": "1.1.0",
715
"System.ComponentModel": "4.3.0",
816
"Microsoft.AspNetCore.Http.Abstractions": "1.0.0",
917
"Microsoft.AspNetCore.Http.Extensions": "1.0.0",
1018
"Microsoft.AspNetCore.Hosting": "1.0.0",
1119
"Microsoft.AspNetCore.Hosting.Abstractions": "1.0.0",
1220
"Microsoft.AspNetCore.Routing": "1.0.0",
13-
"StackifyLib": "1.25.4"
21+
"StackifyLib": "2-*"
1422
},
1523

1624
"frameworks": {

Src/StackifyLib.CoreLogger/StackifyLogger.cs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ public bool IsEnabled(LogLevel logLevel)
1919
return true;
2020
}
2121

22-
public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)
22+
public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception,
23+
Func<TState, Exception, string> formatter)
2324
{
2425
if (formatter == null)
2526
throw new ArgumentNullException("formatter");
@@ -35,5 +36,17 @@ public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Except
3536

3637
StackifyLib.Logger.QueueLogObject(msg, exception);
3738
}
39+
40+
public void Close()
41+
{
42+
try
43+
{
44+
StackifyLib.Logger.Shutdown();
45+
}
46+
catch (Exception)
47+
{
48+
49+
}
50+
}
3851
}
3952
}

Src/StackifyLib.CoreLogger/StackifyLoggerProvider.cs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,21 @@ namespace StackifyLib.CoreLogger
88
{
99
public class StackifyLoggerProvider : ILoggerProvider, IDisposable
1010
{
11-
public StackifyLoggerProvider()
12-
{
13-
}
14-
11+
private StackifyLogger _StackifyLogger = null;
1512

1613
public Microsoft.Extensions.Logging.ILogger CreateLogger(string name)
1714
{
18-
return (Microsoft.Extensions.Logging.ILogger)new StackifyLogger();
15+
if (_StackifyLogger == null)
16+
{
17+
_StackifyLogger = new StackifyLogger();
18+
}
19+
20+
return _StackifyLogger;
1921
}
2022

2123
public void Dispose()
2224
{
25+
_StackifyLogger?.Close();
2326
}
2427
}
2528
}

0 commit comments

Comments
 (0)