如何docker logs <container-id>在 docker容器内运行的 .net 核心应用程序中编写日志,以便日志消息交替显示在 Kitematic UI 中?
我几乎尝试了所有方法,但最终总是没有来自 dotnet 应用程序的日志。我在 NODE.js、nginx、rabbitmq 等容器中的所有其他非 dotnet 应用程序都可以毫无问题地写入日志。
这是我已经尝试过的:
Console.WriteLine我找不到任何遇到相同问题的人(stackoverflow、google、github 问题),所以我想我在这里遗漏了一些重要的东西。
这是我目前的设置:
工作 Dockerfile 示例(NodeJS 应用程序)
FROM node:9-slim
WORKDIR /app
EXPOSE 80
ENV NODE_PATH=/node_modules
ENV PATH=$PATH:/node_modules/.bin
COPY ./MyApp ./
RUN npm install …Run Code Online (Sandbox Code Playgroud) 主要有哪些优点和缺点使用的httpRuntime缓存不要使用简单的静态字段?
我需要将数据存储在整个ASP.NET应用程序的范围内.
HttpRuntime.Cache["MyData"] = someHashtable;
Run Code Online (Sandbox Code Playgroud)
与
private static System.Collections.Hashtable _myData;
public static System.Collections.Hashtable MyData
{
get
{
if (_myData == null)
{
_myData = new System.Collections.Hashtable();
// TODO: Load data
}
return _myData;
}
}
Run Code Online (Sandbox Code Playgroud) namespace TestLibrary
{
[TestFixture]
public class Class1
{
public delegate T Initializer<T>();
public static T MyGenericMethod<T>(Initializer<T> initializer) where T : class
{
return initializer != null ? initializer() : null;
}
[Test]
public void Test()
{
var result = MyGenericMethod(MyInitializer);
Assert.IsNotNull(result);
}
private object MyInitializer()
{
return new object();
}
}
}
Run Code Online (Sandbox Code Playgroud)
在Visual Studion 2010中运行时,这是一段正常运行的代码.如果我尝试使用MSBUILD从命令行构建它...
"c:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe" Solution1.sln
Run Code Online (Sandbox Code Playgroud)
...我得到非常熟悉的错误消息:
无法从用法中推断出方法"方法名称"的类型参数.尝试显式指定类型参数.
有任何想法吗?
c# ×2
.net ×1
.net-core ×1
asp.net ×1
asp.net-core ×1
caching ×1
docker ×1
generics ×1
httpruntime ×1
logging ×1
msbuild ×1
unit-testing ×1