小编Gör*_*zer的帖子

Fluentd - “传入的块已损坏”

我在 docker 容器上运行 fluentd 图像。当我使用 telnet(或 netcat)打开 TCP 连接并发送“消息”字符串时,会出现以下消息:

2017-01-24 10:22:00 +0000 [warn]: incoming chunk is broken: source="host: 192.168.99.1, 
addr: 192.168.99.1, port: 12345" msg=109

2017-01-24 10:22:00 +0000 [warn]: incoming chunk is broken: source="host: 192.168.99.1, 
addr: 192.168.99.1, port: 12345" msg=101

2017-01-24 10:22:00 +0000 [warn]: incoming chunk is broken: source="host: 192.168.99.1, 
addr: 192.168.99.1, port: 12345" msg=115

2017-01-24 10:22:00 +0000 [warn]: incoming chunk is broken: source="host: 192.168.99.1, 
addr: 192.168.99.1, port: 12345" msg=115

2017-01-24 10:22:00 +0000 [warn]: incoming chunk is broken: source="host: 192.168.99.1, 
addr: …
Run Code Online (Sandbox Code Playgroud)

logging fluentd

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

C# Roslyn Compiler - 如何从 IdentifierNameSyntax 获取类型的命名空间?

假设我在代码中有一个调用SomeClass.SomeStaticMethod<T>(),它是一个 InvocationExpressionSyntax。

我以字符串形式获取泛型类型 T 的名称(来自 IdentifierNameSyntax)。我试图获得 T 的符号,但没有成功。

如何找出T类型的命名空间信息?

更新:@SJP 的回答是正确的。我想向那些想从 IdentifierNameSyntax 获取命名空间信息的人解释我的错误,其中包含类的标识符(类名):

我最初的目标是找到SomeClass.SomeMethod<T>()格式中的调用并获取类型 T 的命名空间信息。

var namedTypeSymbol = context.Symbol as INamedTypeSymbol;
var reference = nameTypeSymbol.DeclaringSyntaxReferences.First();
var classSyntaxTree = reference.SyntaxTree;

var semanticModel = context.Compilation.GetSemanticModel(classSyntaxTree);
var genericNameSyntax = (GenericNameSyntax)((MemberAccessExpressionSyntax)node.Expression).Name;
var identifierNameSyntax = genericNameSyntax.TypeArgumentList.Arguments.First();
var typeInfo = semanticModel.GetTypeInfo(identifierNameSyntax);
var nameSpace = ((INamedTypeSymbol)typeInfo.Type).ContainingNamespace;
var nameSpaceName = nameSpace.ToString();
Run Code Online (Sandbox Code Playgroud)

这是我的错误:

我试图获得完整的命名空间,<module_name>.<namespace_part_1>.<namespace_part_2>但是当我这样做时namedTypeSymbol.ContainingNamespace.Name,我只有<namespace_part_2>. 几个小时后,我发现获取完整的命名空间就像namedTypeSymbol.ContainingNamespace.ToString().

有时最好的办法就是出去呼吸新鲜空气:)

c# roslyn roslyn-code-analysis

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

标签 统计

c# ×1

fluentd ×1

logging ×1

roslyn ×1

roslyn-code-analysis ×1