.NET跨平台之旅:增加文件日志功能遇到的挫折
在将我们的ASP.NET 5示例站点(about.cnblogs.com)升级至ASP.NET 5 RC1的时候,我们增加了控制台日志功能。
在ASP.NET 5添加日志功能很简单,只需在project.json中添加Microsoft.Extensions.Logging.Console的引用:
"dependencies":{
"Microsoft.Extensions.Logging.Console": "1.0.0-*"
}
并且在 Startup.cs 中添加 loggerFactory.AddConsole() :
using Microsoft.Extensions.Logging; namespace CNBlogs.AboutUs.Web
{
public class Startup
{
public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole();
}
}
}
然后在控制台就能看到站点运行时的日志信息:
但控制台日志查看与查找日志信息都不方便,文件日志才是解决之道。所以打算增加文件日志功能,那在ASP.NET 5中如何实现呢?
首先要选择一个日志组件,我们开始选用的是 Serilog.Framework.Logging。
先在 project.json 中添加 Serilog.Framework.Logging 的引用:
"dependencies":{
"Serilog.Framework.Logging":"1.0.0-*"
}
然后运行dnu restore命令安装nuget包包。
接着在 Startup.cs 中添加如下的代码:
using System.IO;
using Serilog; public class Startup {
public Startup(IApplicationEnvironment appEnv) {
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.RollingFile(Path.Combine(
appEnv.ApplicationBasePath,"logs/log-{Date}.txt"))
.CreateLogger();
} public void Configure(IApplicationBuilder app,
ILoggerFactory loggerFactory) {
loggerFactory.AddSerilog();
}
}
用 dnx kestrel 运行时却出现了下面的错误:
DNXCore,Version=v5.0 error CS1061: 'LoggerSinkConfiguration' does not contain a definition for 'RollingFile' and no extension method 'RollingFile' accepting a first argument of type 'LoggerSinkConfiguration' could be found (are you missing a using directive or an assembly reference?)
而将 .WriteTo.RollingFile 改为 .WriteTo.TextWriter(Console.Out) 使用控制台则能正常显示日志信息。
开始以为是缺少了某个命名空间的引用,后来发现是因为 serilog 的 .RollingFile 目前还不支持 .NET Core。
只能寻找其它的日志组件。
准备改用NLog,结果发现NLog的文件日志也不支持 .NET Core。
log4net就更别谈了,它还没开始支持.NET Core。
于是,不得不面对这样的现实:目前在Linux上跑ASP.NET 5站点,竟然没有可用的将日志信息记录到文件的日志组件。
所以,.NET的跨平台不仅仅是.NET Core的跨平台,而且整个.NET生态的跨平台,很多组件都需要针对.NET Core进行改写,任重而道远。
.NET跨平台之旅:增加文件日志功能遇到的挫折的更多相关文章
- iNeuOS工业互联网操作系统,分布式云端控制安全策略和增加实时日志功能
目 录 1. 概述... 2 2. 平台演示... 2 3. 云端控制策略和应用过程... 2 3.1 云端控制策略... 2 3.2 ...
- 仿酷狗音乐播放器开发日志二十七 用ole为窗体增加文件拖动功能(附源码)
转载请说明原出处,谢谢~~ 中秋到了,出去玩了几天.今天把仿酷狗程序做了收尾,已经开发完成了,下一篇博客把完结的情况说一下.在这篇博客里说一下使用OLE为窗体增加文件拖拽的功能.使用播放器,我更喜欢直 ...
- Nginx之旅系列 - Nginx日志功能 PK Linux内核printk
题记:Nginx之旅系列是用来记录Nginx从使用到源码学习的点点滴滴,分享学习Nginx的快乐 Nginx 首页: http://nginx.org/ Nginx日志功能 PK Linux内核pri ...
- PHP里面增加写日志功能
配置项中:
- .NET跨平台之旅:在Linux上将ASP.NET 5运行日志写入文件
在前一篇博文(增加文件日志功能遇到的挫折)中,我们遇到了这样一个问题:虽然有一些.NET日志组件(比如Serilog, NLog)已经开始支持.NET Core,但目前只支持控制台输出日志,不支持将日 ...
- iNeuOS工业互联网操作系统,发布3.6.4版本:云端安全控制和实时日志功能,附Chrome、Firefox和Edge浏览器测试性能对比
目 录 1. 概述... 2 2. 平台演示... 2 3. 云端控制和实时日志设计和技术... 2 4. 实时日志测试... 2 1. 概述 ...
- 如何为Windows服务增加Log4net和EventLog的日志功能。
一.简介 最近在做一个项目的时候,需要该项目自动启动.自动运行,不需要认为干预.不用说,大家都知道用什么技术,那就是 Windows服务.在以前的Net Framework 平台下,Windows 服 ...
- 转: KindEditor 图片空间文件增加删除文件、文件夹功能(ASP语言环境)
KindEditor 图片上传功能中集成的图片空间文件管理插件可以对已上传图片进行管理,十分便捷,只是没有图片删除功能,仔细研读xieliang分享的经验后,自己动手改造了一下,顺便分享给有同样需求的 ...
- BAT-给文件右击菜单增加7-ZIP浏览功能
Reg给文件右击菜单增加7-ZIP浏览功能 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\用7-ZIP浏览(ZJQ)] ...
随机推荐
- MyCat源码分析系列之——结果合并
更多MyCat源码分析,请戳MyCat源码分析系列 结果合并 在SQL下发流程和前后端验证流程中介绍过,通过用户验证的后端连接绑定的NIOHandler是MySQLConnectionHandler实 ...
- NSSortDescriptor 的使用
NSSortDescriptor 是什么 ? 你可以将它看做是对一个排序规则的描述者 因为我们可以使用它来对我们数组中的对象进行排序操作 假设现在有这样一个需求: 数组里面有十个Person对象 ...
- 基于STM32Cube的脉冲输出
方法一:定时器定时I/O反转生成脉冲波形 1.建立STM32Cube选择STM32F429,我使用的STM32F429-discovery开发板,晶振是8MHz,时钟配置为180M,这样定时器内部时钟 ...
- android权限
一.WebView 访问internet 的权限: 1.在layout中增加一个WebView 控件: <WebView android:layout_width="match_par ...
- SQL中varchar和nvarchar的区别
varchar(n)长度为 n 个字节的可变长度且非 Unicode 的字符数据.n 必须是一个介于 1 和 8,000 之间的数值.存储大小为输入数据的字节的实际长度,而不是 n 个字节. nvar ...
- Android开发者的Kotlin:书
原文标题:Kotlin for Android Developers: The book 原文链接:http://antonioleiva.com/kotlin-android-developers/ ...
- CALayer基本介绍与常见属性
属性框架:QuartzCore CA: CoreAnimation -> 核心动画,所有的核心动画都是添加给layer的! 与UIView的区别: 1.layer负责内容的展示,不接受任何用户交 ...
- Android 自定义控件之继承ViewGroup创建新容器
欢迎大家来学习本节内容,前几节我们已经学习了其他几种自定义控件,分别是Andriod 自定义控件之音频条及 Andriod 自定义控件之创建可以复用的组合控件还没有学习的同学请先去学习下,因为本节将使 ...
- iOS开发--面试
今天一大清早去面试, 公司距离我家还挺近的, 花了一个小时走着去, 也顺路印下简历, 理理思路, 到了公司面试官什么的都不错, 还给我讲了很多知识, 收货也是满满的, 总结下今天都遇到了哪些问题, 调 ...
- 整理分享原生态mac AndroidStudio的快捷键
使用AndroidStudio开发半年了,一路爬坑至今,刚由Windows转mac一个星期.通过查些资料和自己摸索,记录一些常用的快捷键,犹豫个人不喜欢改快捷键,所以都是原生的.特此分享给大家!欢迎补 ...