小编Sea*_*ean的帖子

如何通过跟踪动态更改日志级别?

作为一名开发人员,我想动态调整日志级别。例如,我不想debug!在一切顺利时记录事件,但当发生某些情况时,我想调整日志级别,而无需重新启动应用程序来更改日志级别。我检查了文档,但找不到示例,所以我想知道是否可以这样做。

// how can I change the max_level of subscriber after it was initialised?
let subscriber = tracing_subscriber::fmt().with_max_level(Level::INFO).finish();
tracing::subscriber::set_global_default(subscriber);

debug!("some log message");
Run Code Online (Sandbox Code Playgroud)

rust rust-tracing

7
推荐指数
1
解决办法
4885
查看次数

如何编写依赖于另一个定义文件的typescript定义文件

我正在为使用buildin节点模块的现有节点库编写一个打字稿定义文件,http并且events.EventEmitter作为参数, 我的问题是如何为这个库编写定义文件?我试图将这些模块从node.d.ts复制到我自己的定义文件中,但我认为这不是一个好主意.

typescript

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

我应该把自动映射器代码放在哪里?

我在 Asp.net mvc 应用程序中使用 Automapper。我有一个关于 automapper 使用的问题

从很多示例代码中,我看到人们Mapper.Map<Target>(source)直接在行动中使用映射器,我不确定这是否是好的prctice,在我看来,我想将Mapper代码包装在代理对象中,而不是让它controller直接与之交谈

      public BankflowData CreateBankflowAdjustments(BankflowData addedBankFlow)
      {
         var bankflow = Mapper.Map<Bankflow>(addedBankFlow);
         var newBankflow = Underlying.CreateBankFlowAdjustments(bankflow);
         return Mapper.Map<BankflowData>(newBankflow);
      }
Run Code Online (Sandbox Code Playgroud)

在这个例子中,控制器对 Class 一无所知Bankflow,它只知道 dto BankflowData

我想知道这对于使用 AutoMapper 的应用程序是否是一个好习惯?

c# automapper

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

PhantomData 用例

我试图在 rust 中理解 phantomData,我有一个 Foo struct 环绕一个原始指针,我告诉编译器 Foo 不能活过 'a,所以我试图防止属性 v 的值在 Foo 之前被删除,但是我发现它不起作用,当 String s 可以在 f 之前被删除时。我是不是误会了什么?

struct Foo<'a, T: 'a> {  // I say that T is valid over lifetime 'a
    pub v: *mut T,
    _mark: PhantomData<&'a T>
}

fn main() {
    let mut s = String::from("hello");
    let f = Foo {
        v: &mut s,
        _mark: PhantomData,
    };
    drop(s);  
    drop(f);
}
Run Code Online (Sandbox Code Playgroud)

我发现我什至可以在像这样删除 s 之后使用指向 s 的指针

 let mut s = String::from("hello");
 let f = Foo {
     v: …
Run Code Online (Sandbox Code Playgroud)

rust

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

标签 统计

rust ×2

automapper ×1

c# ×1

rust-tracing ×1

typescript ×1