登录Identity Server 3

时间:2016-08-10 21:20:32

标签: identityserver3

似乎有很多人对此提出疑问,然而那边的人已经决定在问题得到解决之前结束我的问题;我认为我是一个懒惰的开发者并且无法阅读文档 - 不是这样的:https://github.com/IdentityServer/IdentityServer3/issues/3083

我已按照此处的说明操作:https://identityserver.github.io/Documentation/docsv2/configuration/logging.html

但是我无法记录日志。 我现在的问题是,假设我没有做错事,我是否从单位测试方法中解决了问题?

我有一个单独的单元测试项目,它只是请求令牌并写出响应,但我在某处得到了500错误,并且我假设日志会告诉我原因。

在我前一段时间有一些回购问题并且失去了一些工作之前,测试工作正常,我想我回到了原来的位置,但我确定根本原因将是简单的我和我被忽视了 - 通常是。

无论如何,我真的希望有人可以提供帮助,而不仅仅是嗤之以鼻。 非常感谢!

2 个答案:

答案 0 :(得分:1)

首先将记录器添加到IdentityServer配置(如果是Owin,在启动 public void Configuration(IAppBuilder app)方法下;

            Serilog.Log.Logger = new LoggerConfiguration()
            .WriteTo.Trace(outputTemplate: "{Timestamp} [{Level}] ({Name}){NewLine} {Message}{NewLine}{Exception}")
            .CreateLogger();

然后在 配置 下添加以下webconfig;

  <system.diagnostics>
<sources>
  <source name="Thinktecture.IdentityServer" switchValue="Information, ActivityTracing">
    <listeners>
      <add name="xml" type="System.Diagnostics.XmlWriterTraceListener" initializeData="trace.svclog" />
    </listeners>
  </source>
</sources>
<trace autoflush="true" indentsize="4">
  <listeners>
    <add name="sybsListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="Trace.log" />
    <remove name="Default" />
  </listeners>
</trace>

运行并尝试与IndentityServer交互后,您可以检查项目下的Trace.log文件。不要忘记选择“显示所有文件

enter image description here

基于Trace.log,如果无法解决,可以再次指定问题吗?

答案 1 :(得分:0)

我通过将单元测试包装在

中来管理日志工作
 using (var logger = new LoggerConfiguration()
          .MinimumLevel.Debug()
          .WriteTo.File(@"C:\Users\Richard Terris\Desktop\idsLogs.txt")
      .CreateLogger())
        {

它可能不是最好的解决方案,但它确实有效!

感谢您的回复!