使用 ChatGPT 碰到的坑

e326352210f5c3a4dec4afca3f015be3.png

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

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

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

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

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


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

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

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

这样一看就很清晰了,只是按照 <%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 关键字,结果直接就有一个现成的库。2347c238e26c2c370aec511e15207052.png

4b380a0972c68e356d0ceff511969268.png

而且实现也是类似的。

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

5b3b03c330036c0e86d73bec165ff783.jpeg

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

7cb6ac5f868da470c6ffa7ad2b929956.jpeg

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

009ad64427b7c745689d6a10157d9487.jpeg

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

50f274b06208702a68c70065146271e6.jpeg

一个诡异的 Pulsar InterruptedException 异常

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/5728.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RocketMQ集成Springboot --Chapter5

RocketMQ tag过滤和sql92语法过滤 tag过滤 生产者&#xff0c;由于springboot没有专门对mq进行tag标记的方法&#xff0c;只是在topic:后面加上&#xff0c;所以只需 rocketMQTemplate.sendOneWay(“tagFilterBoot:TagA”,msg1);标记即可 生产者代码如下 /***生产者* tag过滤*…

PyTorch从零开始实现Transformer

文章目录 自注意力Transformer块编码器解码器块解码器整个Transformer参考来源全部代码&#xff08;可直接运行&#xff09; 自注意力 计算公式 代码实现 class SelfAttention(nn.Module):def __init__(self, embed_size, heads):super(SelfAttention, self).__init__()self.e…

Windows Spark 开发测试版本快速搭建

1、Spark 包下载 清华大学开源软件镜像站下载(速度较快&#xff0c;但版本不全)官方各个版本 下载后解压即可。 &#xff08;可选&#xff09;添加环境变量 SPARK_HOME。并将 %SPARK_HOME%/bin、%SPARK_HOME%/sbin 添加到 path 中。 ps&#xff1a;本文使用的是 spark-3.3.0…

【unity】RectTransform与Transform组件有什么区别

RectTransform组件是Unity中用于控制UI元素位置、大小和旋转的组件。它是UI系统的一部分&#xff0c;用于在屏幕空间中布局和定位UI元素。 与transform组件相比&#xff0c;RectTransform组件具有以下区别&#xff1a; 1. 坐标系统&#xff1a;RectTransform组件使用屏幕空间坐…

线上问题排查-dubbo-Dubbo client can not supported string message

1.问题描述 线上值班时&#xff0c;收到告警通知dubbo 调用异常。 主要报错包括下面两条记录&#xff1a; [DUBBO] Dubbo client can not supported string message: [ERROR] [New I/O client worker #1-3] com.alibaba.dubbo.remoting.transport.AbstractCodec - Data len…

一起学SF框架系列5.8-spring-Beans-Bean注解解析3-解析配置component-scan

本文主要讲述Spring是如何解析“context:component-scan”元素&#xff0c;扫描加载目录下的BeanDefinition。 解析内容 1、解析的元素如下&#xff1a; <!-- 注解模式&#xff1a;配置bean扫描路径&#xff08;注&#xff1a;自动包含子路径&#xff09; --><conte…

SpringAOP面向切面编程 通知类型

一、通知类型 Around&#xff1a;环绕通知&#xff0c;此注解标注的通知方法在目标方法前、后都被执行 Before&#xff1a;前置通知&#xff0c;此注解标注的通知方法在目标方法前被执行 After&#xff1a;后置通知&#xff0c;此注解标注的通知方法在目标方法后被执行&…

Linux-tomcat环境搭建、jpress部署实践、nginx反向代理

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a; 小刘主页 ♥️努力不一定有回报&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️学习两年总结出的运维经验&#xff0c;以及思科模拟器全套网络实验教程。专栏&#xf…

分类评估指标

文章目录 1. 混淆矩阵2. Precision(精准率)3. Recall(召回率)4. F1-score5. ROC曲线和AUC指标5.1 ROC 曲线5.2 绘制 ROC 曲线5.3 AUC 值6. API介绍6.1 **分类评估报告api**6.2 **AUC计算API**练习-电信客户流失预测1. 数据集介绍2. 处理流程3. 案例实现4. 小结1. 混淆矩阵

ElasticSearch学习--RestClient及案例

目录 RestClient查询文档 快速入门 总结 全文检索&#xff08;match&#xff09;查询 精确查询 复合查询 查询总结 排序&#xff0c;分页 高亮 RestClient查询文档 快速入门 总结 全文检索&#xff08;match&#xff09;查询 多种查询的差异都在做类型和条件上&#x…

[SQL挖掘机] - HAVING语句

经过对分组函数 group by的介绍, 往往少不了having, 所以这篇文章主要介绍having语句. group by分组函数可以查看如下链接; https://tongjier.blog.csdn.net/article/details/131885281 介绍: having 是用于在 group by 查询中对分组结果进行过滤的子句。它允许我们在分组之后…

数据可视化——如何绘制地图

文章目录 前言如何绘制地图添加配置项 根据已有数据绘制地图整体代码展示 前言 前面我们学习了如何利用提供的数据来对数据进行处理&#xff0c;然后以折线图的形式展现出来&#xff0c;那么今天我将为大家分享如何将提数据以地图的形式展现。 如何绘制地图 前面我们绘制折线…

如何从gitee上下载项目并把它在本地运行起来

有时候我们会想到在gitee上下载下来项目&#xff0c;那么怎么把项目下载到本地并跑起来呢&#xff1f; 第一步&#xff1a;在git上找到你想要克隆下来的项目&#xff0c;按照如下操作复制项目地址连接&#xff0c;如下图&#xff1a; 以上可以选择HTTPS和SSH两种形式。 第二步…

REST和RPC的区别

1 REST REST 不是一种协议&#xff0c;它是一种架构。大部分REST的实现中使用了RPC的机制&#xff0c;大致由三部分组成&#xff1a; method&#xff1a;动词&#xff08;GET、POST、PUT、DELETE之类的&#xff09;Host&#xff1a;URI&#xff08;统一资源标识&#xff09;&…

Hologres SQL

1.SQL基础 1.1 DDL 创建数据库 CREATE DATABASE db_name [[WITH] OWNER [] user_name];创建者自动成为新DB的owner用户需要有CREATEDB权限&#xff08;或者superuser&#xff09; 删除数据库 DROP DATABASE [IF EXISTS] db_name;只有该数据库的superuser或者该db的owner才…

jmeter压测过程中,ServerAgent响应异常:Cannot send data to network connection

ServerAgent异常信息&#xff1a; Cannot send data to network connection&#xff08;无法将数据发送到网络连接&#xff09; 原因&#xff1a; linux 防火墙 拦截了当前端口 解决方案&#xff1a; Linux 执行以下命令 /sbin/iptables -I INPUT -p tcp --dport 4445 -j ACC…

数学建模入门-如何从0开始,掌握数学建模的基本技能

一、前言 本文主要面向没有了解过数学建模的同学&#xff0c;帮助同学们如何快速地进行数学建模的入门并且尽快地在各类赛事中获奖&#xff0c;或者写出优秀的数学建模论文。 在本文中&#xff0c;我将从什么是数学建模、数学建模的应用领域、数学建模的基本步骤、数学建模的技…

【python】如何包装 numpy 的数组

一、说明 Numpy的数组是强大的对象&#xff0c;通常用作更复杂的对象&#xff08;如pandas或xarray&#xff09;的基本数据结构。话虽如此&#xff0c;您当然也可以在自己的类中使用numpy的强大数组 - 为此&#xff0c;您基本上有2种方法&#xff1a; 子类方法&#xff1a;创建…

【动手学深度学习】--12.深度卷积神经网络AlexNet

文章目录 深度卷积神经网络AlexNet1.AlexNet2.模型设计3.激活函数4.模型实现5.读取数据集6.训练AlexNet 深度卷积神经网络AlexNet 学习视频&#xff1a;深度卷积神经网络 AlexNet【动手学深度学习v2】 官方笔记&#xff1a;深度卷积神经网络&#xff08;AlexNet&#xff09; …

Android 中 app freezer 原理详解(一):R 版本

基于版本&#xff1a;Android R 0. 前言 在之前的两篇博文《Android 中app内存回收优化(一)》和 《Android 中app内存回收优化(二)》中详细剖析了 Android 中 app 内存优化的流程。这个机制的管理通过 CachedAppOptimizer 类管理&#xff0c;为什么叫这个名字&#xff0c;而不…