- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建我的第一个生产 Azure Function,并尝试将日志信息写入本地文件,然后最终写入 Blob 存储。本地文件更多用于开发故障排除,最终我希望将生产信息存储在 Blob 存储中。我不仅是 Azure Functions 的新手,而且也是 Serilog 的新手。我在所有其他应用程序中使用了 NLog,但无法让它与 Azure Functions 一起使用。
目前我正在尝试让本地日志正常工作。我实际上似乎可以正常工作,但我不明白如何调整一些东西。
我想要改变的第一件事是记录的信息量。它似乎正在记录一大堆系统类型的信息,例如向 blob 存储请求信息。记录的内容太多,以至于我在代码中添加的条目都丢失了。看起来所有系统条目都被标记为信息,这就是它可能显示在我的日志中的原因。但是,我想看看是否可以让它仅记录我在代码中专门调用 logger.Information(“some text”) 时的数据。有没有办法隐藏所有的微软系统信息?
第二件事是如何使 Serilog 配置来 self 的 local.settings.json
文件。下面是我的文件示例,我不确定是否要在 Values:
属性中添加配置信息,还是将其放在该属性之外,放入其自己的属性中?我假设它将位于它自己的属性中,但到目前为止我所有的自定义设置都来自 Values:
属性?
我需要添加 Serilog.Settings.Configuration NuGet 包吗?如果是这样,那么我不明白如何配置 Startup.cs 文件以从本地设置文件获取信息,而不是直接在代码中配置设置。最终,我想将它添加到依赖注入(inject)中,这样我也可以在其他类中使用记录器。
Startup.cs
public override void Configure(IFunctionsHostBuilder builder)
{
builder.Services.AddTransient<IDataManager, DataManager>();
ConfigureServices(builder.Services).BuildServiceProvider(true);
}
private IServiceCollection ConfigureServices(IServiceCollection services)
{
services
.AddLogging(loggingBuilder =>
loggingBuilder.AddSerilog(
new LoggerConfiguration()
.MinimumLevel.Information()
.WriteTo.Console()
.WriteTo.File(@"D:\logs\AzureFunction\log_.txt", rollingInterval: RollingInterval.Day)
.CreateLogger())
);
return services;
}
Local.settings.json
{
"IsEncrypted": false,
"Values": {
"ProcessLookBackDays": "90",
"SqlConnection": "connection info",
"StorageConnection": "connection info"
"AzureWebJobsStorage": "connection info"
"InputContainer": "test-files",
"InputFolder": "input",
"FUNCTIONS_WORKER_RUNTIME": "dotnet"
},
"Serilog": {
"Using": [ "Serilog.Sinks.File" ],
"MinimumLevel": {
"Default": "Information"
},
"WriteTo": [
{
"Name": "File",
"Args": {
"path": "D:\\logs\\AzureFunction\\log_.log",
"rollingInterval": "Day",
"outputTemplate": "[{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} {CorrelationId} {Level:u3}] {Username} {Message:lj}{NewLine}{Exception}"
}
}
]
}
}
最佳答案
本地设置中设置配置。 Json
不会反射(reflect)在 azure 函数应用程序中。顾名思义,local-setting 仅供本地使用,而使用 azure 时,您需要使用应用程序设置并读取它们。var appsettings = Environment.GetEnvironmentVariable("Name of the setting");
当您想将外部配置与serilog一起使用时,您可以使用Serilog.Settings.Configuration
。
现在您可以配置日志事件的最低级别,这样所有重要性低于指定最低级别的日志事件都不会被记录。
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.Console(restrictedToMinimumLevel: LogEventLevel.Information)
.CreateLogger();
.MinimumLevel.Debug()
和 restrictedToMinimumLevel
该属性规定了该特定接收器的最低级别。接收器只是您可以记录日志的地方,它们是使用 Writeto
标签配置的。例如,在上面的代码中,接收器是一个控制台。有other也下沉了。最低级别为详细调试、信息、警告、错误、致命。
引用:-
Read configuration from app setting作者:阿什什·帕特尔
关于azure - 如何在Azure Function中配置Serilog设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73045274/
main.cpp #include "Primes.h" #include int main(){ std::string choose; int num1, num2; w
似乎函数 qwertyInches() 应该可以工作但是当我在 main() 中调用它时它给了我 [Error] called object 'qwertyInches' is not a funct
我无法理解 C++ 语法的工作原理。 #include using namespace std; class Accumulator{ private: int value; public:
在 类中声明 函数成员时,我们可以同时执行这两种操作; Function first; Function() second; 它们之间有什么区别? 最佳答案 Function 代表任意函数: void
“colonna”怎么可能是一个简单的字符串: $('td.' + colonna).css('background-color','#ffddaa'); 可以正确突出显示有趣单元格的背景,并且: $
我正在尝试将网页中的动态参数中继到函数中,然后函数将它们传递给函数内部的调用。比如下面这个简化的代码片段,现在这样,直接传入参数是没有问题的。但是,如何在不为每个可能的 colorbox 参数设置 s
C++ 中是否有一种模式允许您返回一个函数,它返回一个函数本身。例如 std::function func = ...; do { func = func(); } while (func);
我正在将 Windows 程序集移植到 Linux。我有一些代码要移植。我实际上是 linux 中 C 的新手。我知道 C 基础知识是一样的! typedef struct sReader {
我一直在寻找一个很好的解释,所以我很清楚。示例: this.onDeleteHandler(index)}/> 对比 对比 this.nameChangedhandler(event, perso
function(){}.__proto__ === Function.prototype 和 Function.prototype === function(){}.__proto__ 得到不同的结
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function 据说 Propert
VBA 中的函数没有特殊类型。我很难理解如何在 Excel VBA 中将函数作为参数添加到函数中。 我想要完成的是这样的事情: function f(g as function, x as strin
所以我正在尝试制作一个包(我没有在下面包含我的 roxygen2 header ): 我有这个功能: date_from_text % dplyr::mutate(!!name := lubr
尝试从 std::function 派生一个类,对于初学者来说,继承构造函数。这是我的猜测: #include #include using namespace std; template cla
我正在尝试编写一个返回另一个函数的函数。我的目标是编写一个函数,它接受一个对象并返回另一个函数“search”。当我使用键调用搜索函数时,我想从第一个函数中给定的对象返回该键的值。 propertyO
我非常清楚函数式编程技术和命令式编程技术之间的区别。但是现在有一种普遍的趋势是谈论“函数式语言”,这确实让我感到困惑。 当然,像 Haskell 这样的一些语言比 C 等其他语言更欢迎函数式编程。但即
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 8 年前。 Improv
我在stackoverflow上查过很多类似的问题,比如call.call 1 , call.call 2 ,但我是新人,无法发表任何评论。我希望我能找到关于 JavaScript 解释器如何执行这些
向 Twilio 发送 SMS 时,Twilio 会向指定的 URL 发送多个请求,以通过 Webhook 提供该 SMS 传送的状态。我想让这个回调异步,所以我开发了一个 Cloud Functio
作为 IaC 的一部分,A 功能应用 ,让我们将其命名为 FuncAppX 是使用 Terraform 部署的,它有一个内置函数。 我需要使用 Terraform 在函数应用程序中访问相同函数的 Ur
我是一名优秀的程序员,十分优秀!