Former-commit-id: f337080cf976321a8160e9b0b7411c6af2ef74f4
Former-commit-id: 1169340b533fbab5316d56dc6ac8ce3eb204e0a5
1.0
wanggang 4 years ago
parent 6ef95816d5
commit 1d16d2b922

@ -26,7 +26,7 @@ namespace IoTNode
.WriteTo.Console()
.WriteTo.File("logs/log.txt", rollOnFileSizeLimit: true, fileSizeLimitBytes: 100 * 1024 * 1024, rollingInterval: RollingInterval.Infinite)
.CreateLogger();
o.AddSerilog();
o.AddSerilog();
})
.UseStartup<Startup>()
.Build()

@ -14,6 +14,7 @@
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.10.13" />
<PackageReference Include="MiniProfiler.AspNetCore.Mvc" Version="4.2.22" />
<PackageReference Include="MiniProfiler.EntityFrameworkCore" Version="4.2.22" />
<PackageReference Include="Serilog.Sinks.Elasticsearch" Version="8.4.1" />
<PackageReference Include="Serilog.Sinks.SQLite" Version="5.0.0" />
<PackageReference Include="sqlite-net-pcl" Version="1.7.335" />
<PackageReference Include="Yarp.ReverseProxy" Version="1.0.0-preview.10.21168.2" />

@ -4,7 +4,11 @@ using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Serilog;
using Serilog.Formatting.Elasticsearch;
using Serilog.Formatting.Json;
using Serilog.Settings.Configuration;
using Serilog.Sinks.Elasticsearch;
using Serilog.Sinks.RollingFile;
using System;
using System.IO;
using System.Text;
@ -16,17 +20,8 @@ namespace Platform
public static void Main(string[] args)
{
Console.OutputEncoding = Encoding.UTF8;
var config = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")}.json", optional: true, reloadOnChange: true)
.Build();
Log.Logger = new LoggerConfiguration()
.ReadFrom.Configuration(config, ConfigurationAssemblySource.AlwaysScanDllFiles)
.WriteTo.Console()
//.WriteTo.File("logs/log.txt", rollOnFileSizeLimit: true, fileSizeLimitBytes: 100 * 1024 * 1024, rollingInterval: RollingInterval.Infinite)
.CreateLogger();
IConfigurationRoot config = GetConfig();
Log.Logger = GetLogger(config);
try
{
@ -49,5 +44,30 @@ namespace Platform
Log.CloseAndFlush();
}
}
private static IConfigurationRoot GetConfig()
{
return new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")}.json", optional: true, reloadOnChange: true)
.Build();
}
private static ILogger GetLogger(IConfigurationRoot config)
{
return new LoggerConfiguration()
.ReadFrom.Configuration(config, ConfigurationAssemblySource.AlwaysScanDllFiles)
.WriteTo.Console()
.WriteTo.Elasticsearch(new ElasticsearchSinkOptions(new Uri(config.GetConnectionString("Log")))
{
AutoRegisterTemplate = true,
AutoRegisterTemplateVersion = AutoRegisterTemplateVersion.ESv7,
CustomFormatter = new ExceptionAsObjectJsonFormatter(renderMessage: true),
FailureCallback = e => Console.WriteLine("Unable to submit event " + e.MessageTemplate),
EmitEventFailure = EmitEventFailureHandling.WriteToSelfLog |EmitEventFailureHandling.WriteToFailureSink | EmitEventFailureHandling.RaiseCallback,
FailureSink = new RollingFileSink("logs/log.json", new JsonFormatter(), 100 * 1024 * 1024, 1, Encoding.UTF8)
})
.CreateLogger();
}
}
}

@ -2,6 +2,7 @@
"ConnectionStrings": {
"SQLite": "Data Source=iotcenter.db",
"MySQL": "Server=mysql;Port=3306;Database=iotcenter;Uid=root;Pwd=aA123456!;",
"Log": "http://elasticsearch:9200",
"Job.MySQL": "Server=mysql;Port=3306;Database=jobserver;Uid=root;Pwd=aA123456!;Allow User Variables=True;",
"PostgreSQL": "User ID=root;Host=localhost;Port=26257;Database=iotcenter;CommandTimeout=600;TrustServerCertificate=true;",
"Redis": "redis:6379,password=aA123456!,allowAdmin=true",

@ -15,7 +15,6 @@
"TablePrefix": "",
"Database": "MySQL",
"JobDatabase": "MySQL",
"Log": "File",
"FileServer": "MinIO",
"Cache": "Redis",
"Profiler": false,
@ -24,6 +23,7 @@
"ConnectionStrings": {
"SQLite": "Data Source=iotcenter.db",
"MySQL": "Server=localhost;Port=3306;Database=iotcenter;Uid=root;Pwd=aA123456!;",
"Log": "http://localhost:9200",
"Job.MySQL": "Server=localhost;Port=3306;Database=jobserver;Uid=root;Pwd=aA123456!;Allow User Variables=True;",
"PostgreSQL": "User ID=root;Host=localhost;Port=26257;Database=iotcenter;CommandTimeout=600;TrustServerCertificate=true;",
"Redis": "localhost:6379,password=aA123456!,allowAdmin=true",

@ -13,6 +13,7 @@ services:
depends_on:
- mysql
- redis
- elasticsearch
ports:
- 8011:80
volumes:

@ -132,3 +132,23 @@ services:
networks:
default:
ipv4_address: 172.172.0.60
#log db
elasticsearch:
image: elasticsearch:7.12.0
restart: always
environment:
- discovery.type=single-node
- ES_JAVA_OPTS=-Xms1g -Xmx1g
- http.cors.enabled=true
- http.cors.allow-origin=*
ports:
- 9200:9200
- 9300:9300
volumes:
- ./data/elasticsearch:/usr/share/elasticsearch/data
#Kibana
kibana:
image: kibana:7.12.0
restart: always
ports:
- 5601:5601

Loading…
Cancel
Save