小编Ste*_*and的帖子

使用appsettings.json时Azure函数无法初始化Serilog Sink

我创建了一个简单的Azure函数,其目的是使用Serililog记录到Azure Blob存储。

当对Serilog接收器使用内联配置时,效果很好,创建接收器,Serilog高兴地写到Blob存储。

这有效:

Log.Logger = new LoggerConfiguration()
   .WriteTo.AzureBlobStorage(
           "STORAGEACCOUNT CONNECTION STRING", // <-- inline config
           LogEventLevel.Information,
           null,
           "{yyyy}/{MM}/{dd}/MyLogFile.txt")
   .CreateLogger();
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

问题是我想通过配置所有这些appsettings.json,但是当我尝试这样做(都在仿真器和云中本地运行)时,它无法绑定接收器设置,结果其无法登录到博客存储。

如果调试,则可以看到配置值已按预期加载到configurationobject中,但是没有将它们应用于日志记录配置。

这不起作用:

Log.Logger = new LoggerConfiguration()
   .ReadFrom.Configuration(configuration)
   .CreateLogger();
Run Code Online (Sandbox Code Playgroud)

appsettings.json 在此片段中:

Log.Logger = new LoggerConfiguration()
   .WriteTo.AzureBlobStorage(
           "STORAGEACCOUNT CONNECTION STRING", // <-- inline config
           LogEventLevel.Information,
           null,
           "{yyyy}/{MM}/{dd}/MyLogFile.txt")
   .CreateLogger();
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我不确定自己做错了什么,但会有所帮助。以下github存储库包含实现以上两种方法的代码,并重现了此行为。https://github.com/oneiltomlinson/AzureFunctionsLogging

azure serilog azure-functions

6
推荐指数
1
解决办法
744
查看次数

如何npm安装并强制使用最新版本(永久)?

我正在为公司内部部署专用的npm模块。由于模块是在内部处理的,因此我们可以信任版本凹凸等。

我如何在各个项目中安装该模块,以便始终随每个模块都安装该模块的最新版本npm install,这样我就不必遍历大量项目并在每次package.json部署时都在其中更新版本?

请注意,这适用于选定的软件包,而不适用于所有软件包,即仅适用于我们私有服务器上托管的软件包。

javascript node.js npm

5
推荐指数
1
解决办法
3218
查看次数

Angular 4 - 如何为type ='input'渲染2个小数位

这个问题是关于当用户将数据输入到类型编号的输入时限制/验证输入.

我遇到的问题是,当模型首次加载时,任何整数或1dp的数字只能用1dp渲染.例如40或40.0都显示为40.0(不是40.00).

我已添加此代码,以便在用户键入新值后,它显示为2dp:

在模板文件中:

(change)="setTwoNumberDecimal($event)"
Run Code Online (Sandbox Code Playgroud)

在组件文件中:

  setTwoNumberDecimal($event) {
    $event.target.value = parseFloat($event.target.value).toFixed(2);
  }
Run Code Online (Sandbox Code Playgroud)

这可以在用户更改值显示2dp .

我尝试编写一个指令,当数据最初加载时应该格式化为2dp,但是虽然该指令触发,但它不会将值更改为2dp.

import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';

@Directive ({
  selector: '[fbDecimalFormat]'
})

export class DecimalFormatDirective {

  constructor(private el: ElementRef,
              private renderer: Renderer2) {
    //renderer.setAttribute(el, 'value', parseFloat(el.nativeElement.value).toFixed(2));
    this.el.nativeElement.value = parseFloat(this.el.nativeElement.value).toFixed(2);
  }

}
Run Code Online (Sandbox Code Playgroud)

仅供参考,评论的渲染线不起作用(错误:setAttribute无法识别) - 这是尝试与平台无关.

所以问题是:我如何获得输入以2dps呈现其初始值?

angular-directive angular

4
推荐指数
1
解决办法
2万
查看次数

将字符串转换为数字角2单向绑定

将字符串转换为数字角2单向绑定

[longitude]="loc.location.lng">
Run Code Online (Sandbox Code Playgroud)

loc.location.lng是字符串,我需要将它们转换为number。但是仍然无法按我期望的那样工作。在插值中,它起作用了,但在这种情况下不起作用。谢谢

angular2-template angular

3
推荐指数
2
解决办法
9115
查看次数