小编ser*_*jja的帖子

如何让堆栈跟踪指向Golang中的实际错误原因?

假设我有一些像这样的代码:

value, err := some3rdpartylib.DoSomething()
if err != nil {
    panic(err)
}
Run Code Online (Sandbox Code Playgroud)

万一err != nil我会得到这样的东西:

panic: some error explanation here

goroutine 1 [running]:
main.main()
    /tmp/blabla/main.go:6 +0x80
Run Code Online (Sandbox Code Playgroud)

这个堆栈跟踪是完全合法的,但有时这些错误消息可能无法澄清发生了什么,所以我想深入研究第三方库的源代码,以调查究竟是什么原因导致返回此错误.但是,当我的代码像这样恐慌时,无法获得返回此错误的实际位置.

稍微澄清一点:因为我来自JVM世界,抛出异常,我可以完全跟踪抛出异常的确切代码行,从而可以轻松找到该位置,看看出了什么问题.Go堆栈跟踪正好在我的代码恐慌的地方结束,因此在我的情况下不太有用.

我在这里创建了一个游乐场,理想情况下我希望能够将错误追踪到它实际返回的地方,而不是恐慌.(例如到第17行return "", errors.New("some error explanation here"))

这甚至可能吗?

go

14
推荐指数
5
解决办法
7010
查看次数

Scala:如何将String拆分为Map

环境:Scala 2.10+ IDE:Eclipse Kepler

我有一条线 NAME=bala AGE=23 COUNTRY=Singapore

我如何将其作为地图获取

Map(NAME -> bala, AGE -> 23, COUNTRY -> Singapore)

scala scala-2.8 scala-collections scala-2.10

6
推荐指数
2
解决办法
6872
查看次数

Kafka消费者100%CPU使用率

我有一个卡夫卡消费者,它已经完美运行了几天。昨天,该券商下跌。从那时起,消费者显示 100% 的 cpu 使用率。当经纪商上线时,使用率大幅下降(低于 10%)。我很好奇为什么当 Broker 宕机时使用率是 100%(或接近 100%)?我在日志中没有看到任何内容。

  • 卡夫卡经纪人/服务器:0.8.2.1
  • 卡夫卡高级 API:0.8.2.0

apache-kafka kafka-consumer-api

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

Kafka是否保证在具有任何配置参数值的单个分区中进行消息排序?

如果我在Producer中将Kafka配置参数设置为:

1. retries = 3
2. max.in.flight.requests.per.connection = 5
Run Code Online (Sandbox Code Playgroud)

那么一个分区内的消息可能不在send_order中.

Kafka是否采取任何额外步骤以确保分区中的消息仅保留在已发送的顺序中或者使用上述配置,可能在分区内出现乱序消息?

apache-kafka kafka-python kafka-producer-api

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

在Docker容器中运行Kafka集群?

从性能角度来看,在Docker容器中运行Kafka是一个不错的选择吗?是否有人应该注意的事项,特别是调整等等?

apache-kafka

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

我应该继续将logger实例传递给不同的类

我在main方法中创建了一个logger实例,并将其设置为全局变量.如果我想使用相同的日志文件来记录消息,那么将相同的记录器实例传递给不同的类构造函数是一种好习惯.你怎么能这样做而不是通过.

public static void main(String[] args) {
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss");
        Handler h = new FileHandler("../logs/MyLogFile_"
                + sdf.format(date) + ".log", true);
        h.setFormatter(new SingleLineFormatter());
        h.setLevel(Level.ALL);
        logger.setUseParentHandlers(false);
        logger.addHandler(h);
} 

public void go(XMLConfig config) throws Exception {      
    Controller.setGlobalErrorHandler(new ErrorHandler(logger));
} 

public class ErrorHandler implements FDSErrorHandler {

    private static Logger logger = Logger.getLogger("com.explore.lse");

    public ErrorHandler(Logger logger) {
        this.logger = logger; 
    }
}
Run Code Online (Sandbox Code Playgroud)

java logging

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

如何从一个单词过滤那些特殊的字符?

我有

val content = "bala.ba* muthu.t@ jiang.xin="
Run Code Online (Sandbox Code Playgroud)

如何过滤Scala中的垃圾字符(*,@&=)?

现在我使用java子串,这可能不是最好的scala.

我也试过了

filter (_ != "*" ) filter (_ != "@") filter (_ != "=")
Run Code Online (Sandbox Code Playgroud)

不要觉得这是正确的方式

我想用最好的功能方式

先谢谢你们...

scala scala-2.8 scala-2.10

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