使用 ChatGPT 碰到的坑

crossoverJie

共 1557字,需浏览 4分钟

 · 2023-07-19

1bdf8bdeadc05f3372b1a9c7f00731ed.webp

最近在使用 ChatGPT 的时候碰到一个小坑,因为某些特殊情况我需要使用 sysloglogbeat 中发送日志。

由于这是一个比较古老的协议,确实也没接触过,所以就想着让 ChatGPT 帮我生成个例子。

原本我已经在  Go  中将这个流程跑通,所以其实只需要将代码转换为 Java 就可以了,这个我还是很信任 ChatGPT 的;

现在我挺多结构化数据的转换都交给了 ChatGPT,省去了不少小工具。

于是便有了这段对话:bf736f25fd7b10a928dda2e24138c79d.webp0a76dce202da5724e76a3f24c9105d69.webp看起来挺正常的,我那过来改改确实也能用。


直到快上线的时候,我发现一些元信息丢失了,比如日志生产者的 hostname, PID 等,然而这个信息在 Go 却没有丢失。

于是我反复调试了之前生成的代码,依然没有找到问题。

没办法,就只有去翻翻 Go 源码,想看看最终发出去的数据长什么样子,最后看到这样几行代码:b3069dbeecddd55995eb2336557be9fa.webpb040d00ad74cb6a18230aac9d71b5570.webp

这样一看就很清晰了,只是按照 <%d>%s %s %s[%d]: %s%s 的格式将生成的字符串通过网络发送出去。

既然这样 Java 代码也很好写了:

      
      Socket socket = new Socket(hostname,port);
socket.setKeepAlive(true);
OutputStream os = socket.getOutputStream();
PrintWriter pw = new PrintWriter(os, true);

String format = String.format("<%d>%s %s %s[%d]: %s%s"6 , rfc3164DateFormat.format(new Date()), "test""test"0, message, "\n");

pw.println(format);

经过测试数据终于对了。

之后我就在想这么简单的一个问题 Google 上不可能没有吧,于是直接搜索了 Java syslog 关键字,结果直接就有一个现成的库。7031b0683caeb2e252f59663ca9084fd.webp

d3f698f80e72a6ccc99c3cbdc64a43a3.webp

而且实现也是类似的。

我相信应该有不少朋友也有被 ChatGPT 一本正经的胡说八道误导过,至少在当前的环境下一些简单的东西我还是决定优先 Google


8ae09a2c5d97d348255c8a3f6c67f343.webp

在这个大环境下我是如何找工作的


ff639559f44665eb4ce927c264124238.webp

云原生背景下如何配置 JVM 内存


4d73961b144307ad089b276123890910.webp

通过 Pulsar 源码彻底解决重复消费问题


9ca1fd0b9f3a4395b732d9c90c2d3d62.webp

一个诡异的 Pulsar InterruptedException 异常



浏览 34
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报