NLog允许我用来SplitGroup将我的消息记录到多个目标.我想使用此功能一次将每条消息记录到常见的,特定于用户和日期的日志中:
<variable name="commonLog" value="${logDir}\Common.log" />
<variable name="username" value="${identity:fSNormalize=true:authType=false:isAuthenticated=false}" />
<variable name="userLog" value="${logDir}\ByUser\${username}.log" />
<variable name="dateLog" value="${logDir}\ByDate\${shortdate}.log" />
<target name="logFiles" xsi:type="SplitGroup">
<target xsi:type="File" fileName="${commonLog}" layout="${myLayout}" />
<target xsi:type="File" fileName="${userLog}" layout="${myLayout}" />
<target xsi:type="File" fileName="${dateLog}" layout="${myLayout}" />
</target>
Run Code Online (Sandbox Code Playgroud)
这很好,但我也想对不同级别的严重性使用不同的布局.例如,errorLayout将包含异常信息和插入[!]标记,以便稍后可以突出显示BareTail等日志查看器中的错误:
<variable name="stamp" value="${date} ${username} ${logger}" />
<variable name="debugLayout" value="${stamp} ... ${message}" />
<variable name="infoLayout" value="${stamp} [i] ${message}" />
<variable name="warnLayout" value="${stamp} [!] ${message}" />
<variable name="errorLayout"
value="${warnLayout}${newline}${pad:padding=10:inner=${exception:format=ToString}}" />
<!-- …Run Code Online (Sandbox Code Playgroud) 我试图在内部提出async请求foreach,以便用户稍后获取数据,但它不适用于我.
我知道Array.Foreach是一个同步函数,所以我甚至尝试过$ .when.done但它仍然没有等到它完成.
我可以使用回调,如果它是一个值,但它是一个数组.是否有更好的方法通过回调来处理这个问题,以便async在下一步之前实现等待请求?
browseItems.forEach((browseItem: any) => {
AsynchFunction();
cosole.log("Step 2")
}
function AsynchFunction(){
console.log("Step 1")
}
Run Code Online (Sandbox Code Playgroud)
我想得到一个输出
步骤1
第2步
我有一个包含多个大型测试用例的项目,该项目的构建大约需要 2-3 分钟。我怀疑这与这个新的警告功能有关......例如:
警告 xUnit2003:不要使用 Assert.Equal()
警告 xUnit2004:不要使用 Assert.Equal() 检查布尔条件。
它正在对数千行执行此操作...
如果有一种方法可以禁用此功能,那就太好了。不确定这是否与 Visual Studio 运行程序或 xunit 本身有关。
我使用了以下 NLog 配置来添加日志文本来控制指定表单上的指定名称。
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<target name="control" xsi:type="FormControl" append="true"
controlName="textBox1" formName="Form1"/>
</targets>
<rules>
<logger name="*" minlevel="Debug" writeTo="control"/>
</rules>
</nlog>
Run Code Online (Sandbox Code Playgroud)
我有一个名为 Form1 的表单,并对其进行了名为 textBox1 的控件。nLog仍然在运行时创建一个新表单,并向其添加一个停靠文本框并在其中显示日志。
现在如何使 nLogwrite 将日志写入我的表单和我的控件
当我用NLog 2.0.1捕获异常时,我正在寻找一种记录表达消息的方法
try {
....
}
catch(Exception ex) {
logger.ErrorException("Error with query {0}", query, ex);
}
Run Code Online (Sandbox Code Playgroud)
但是NLog不支持它.发生在我身上的其他形式是
logger.ErrorException( String.Format("Error with query {0}", query)) , ex);
Run Code Online (Sandbox Code Playgroud)
要么
logger.Error("Error with query {0} {1} {2}", query, ex.Message, ex.StackTrace);
Run Code Online (Sandbox Code Playgroud)
要么
logger.Error("Error with query {0}", query);
logger.ErrorException("", ex);
Run Code Online (Sandbox Code Playgroud)
要么
LogEventInfo ei = new LogEventInfo(LogLevel.Error, logger.Name, null,
"Error with query {0}", new object[] { query }, ex);
logger.Log(ei);
Run Code Online (Sandbox Code Playgroud)
但是没有一个像调用那样简单.logger.Error ()
目前,第一个选项是我的偏好,尽管格式化一个字符串可能不会被使用:
还有一些?
我是Identity Server的新手,我的理解中缺少一个关键概念。我正在使用MVC教程中的代码。
如果我用属性装饰Home控制器[Authorize]并访问我的网站,则会重定向到IdentityServer。然后,使用我的用户名和密码登录。然后,我使用一些自定义代码并进行身份验证。我取回一个AccessToken,然后可以访问Home控制器。
我的客户端设置如下:
new Client {
ClientId = "mvc",
ClientName = "MVC Client",
AllowedGrantTypes = GrantTypes.HybridAndClientCredentials,
ClientSecrets = new List<Secret>{new Secret("secret".Sha256())},
RequireConsent = false,
AccessTokenLifetime = 1,
// where to redirect to after login
RedirectUris = new List<string>{"http://localhost:5002/signin-oidc"},
// where to redirect to after logout
PostLogoutRedirectUris = new List<string>{"http://localhost:5002"},
AllowedScopes = new List<string>
{
StandardScopes.OpenId.Name,
StandardScopes.Profile.Name,
StandardScopes.OfflineAccess.Name,
}
}
Run Code Online (Sandbox Code Playgroud)
我的访问令牌是
{
"nbf": 1474697839,
"exp": 1474697840,
"iss": "http://localhost:5000",
"aud": "http://localhost:5000/resources",
"client_id": "mvc",
"scope": [ …Run Code Online (Sandbox Code Playgroud) 有没有办法用 NLog 给特定单词着色?我的目标是一个ColoredConsole.
假设我想将longdate着色为红色,callsite着色为蓝色。最好的方法是什么?这似乎不起作用:
<target xsi:type="ColoredConsole"
name="debugConsole"
layout="${longdate} ${callsite} ${message}">
<highlight-word text="${longdate}" foregroundColor="Red" />
<highlight-word text="${callsite}" foregroundColor="Blue" />
</target>
Run Code Online (Sandbox Code Playgroud) 正如标题所示,我正在寻找有关我可能要禁用的功能/扩展的帮助,以解决Visual Studio 2017 IDE(Windows)的特定问题.
当我在使用Typescript时,以下将导致node.js进程激活CPU使用率并使IDE在每次击键时锁定几秒钟.填写导入和导出语句的路径时会发生这种情况,例如:
import { foo } from 'app/file/bar';
export { foo } from 'app/file/bar';
Run Code Online (Sandbox Code Playgroud)
一旦我开始输入,'app/file/bar'一切都会下地狱.Windows资源监视器显示Node.exe占用几乎100%的CPU.它几乎就像是每次按键扫描我的整个项目,以便它可以尝试建议自动完成选项(但没有任何东西出现,一切都只是窒息).
我已经确定了我的tsconfig排除node_modules.
请帮忙 - 我有很多工作要做!
我将一个变量声明x为
public x : 0;
Run Code Online (Sandbox Code Playgroud)
而不是将其初始化为 0
认为我已经正确地声明了它,我将它初始化为
this.x = 5;
Run Code Online (Sandbox Code Playgroud)
我在上面的行中遇到错误,其中读取
Type '5' is not assignable to type '0'.ts(2322)
Run Code Online (Sandbox Code Playgroud)
谁能告诉,为什么会这样?
我看到以下代码应用于 .net core 操作方法:
[HttpPost("MyAction", Name = "MyAction")]
public IActionResult MyAction()
{
// some code here
}
Run Code Online (Sandbox Code Playgroud)
HttpPost 属性中“Name”参数的用途是什么?
c# ×5
nlog ×4
asp.net-core ×2
typescript ×2
actionmethod ×1
asp.net-mvc ×1
javascript ×1
redundancy ×1
unit-testing ×1
winforms ×1
xunit ×1
xunit.net ×1