我正在使用 FastAPI 和 Structlog,想要测试日志格式并将其从纯文本/字符串转换为 JSON 格式,以便日志聚合器平台具有更好的可读性和处理能力。面临某些日志输出以 JSON 形式提供但以纯字符串形式存在的情况。
电流输出
INFO: 127.0.0.1:62154 - "GET /api/preface HTTP/1.1" 200 OK
INFO: 127.0.0.1:62154 - "GET /loader.json HTTP/1.1" 200 OK
INFO: 127.0.0.1:62155 - "GET /hello_world HTTP/1.1" 200 OK
{"key":"test_key","message":"Push to NFS Success","event":"Testing Fast API..","logger":"test_my_api","filename":"main.py","func_name":"Hello_World","process":23760,"module":"docker","thread":23140,"pathname":"D:\\my_work\\fast_api\\main.py","process_name":"SpawnProcess-1","level":"info","time-iso":"2023-06-30T15:25:03.113400Z"}
Run Code Online (Sandbox Code Playgroud)
预期输出:
{
"level": "INFO",
"IP": "127.0 .0 .1: 62154",
"method": "GET",
"endpoint": "/loader.json",
"protocol": "HTTP / 1.1",
"status_code": 200,
"status": "OK"
}
{
"level": "INFO",
"IP": "127.0 .0 .1: 62155",
"method": "GET",
"endpoint": "/api/preface",
"protocol": "HTTP / 1.1",
"status_code": 200,
"status": …Run Code Online (Sandbox Code Playgroud) 我将构建类型即 Maven Job 或 Freestyle 作业作为输入参数(使用构建参数化插件)并根据输入条件创建相应的作业
我的输入参数: "maven" (to create Maven job) ,else 阻止自由式作业。
if(params[build_type]=="maven"){
mavenJob('example') {
using(template_job)
scm {
svn {
location(svn_url)
}
}
}
}
freeStyleJob('example') {
using(template_job)
scm {
svn {
location(svn_url)
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正面临以下错误消息,我对 groovy 很陌生,所以请原谅。期待任何建议。谢谢。
处理提供的 DSL 脚本错误:(脚本,第 1 行)没有这样的属性:类的参数:脚本
下面是我的 gradle 文件的片段,我想要实现的是,对于依赖项工件 - com.google.code.gson:2.8.2 来说,应该从另一个存储库中获取,而不是从存储库中提到的存储库中获取部分 ?是否可以 ?
比如说, com.google.code.gson:2.8.2 应该仅从 https://internal-repo-url/artifactory/second-repo 获取,而不是 https://internal-repo-url/artifactory/first-repo 。
buildscript {
repositories {
mavenLocal()
maven {
url 'https://internal-repo-url/artifactory/first-repo'
}
}
apply plugin: 'com.choko-build'
dependencies {
compile group: 'org.influxdb', name: 'influxdb-java', version: '2.20'
compile ('org.repo.strung:javacontainer:1.8.16') {
exclude group: 'org.apache.logging.log4j', module: 'log4j-slf4j-impl'
exclude group: 'com.google.code.gson', module: 'gson'
}
compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.13'
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.2'
Run Code Online (Sandbox Code Playgroud) 即使文件夹中存在该文件,也要面对以下问题。
H:\Ruby_test_works>ruby hurrah.rb
hurrah.rb:7:in `read': No such file or directory @ rb_sysopen - H:/Ruby_
test_works/SVNFolders.txt (Errno::ENOENT)
from hurrah.rb:7:in `block in <main>'
from hurrah.rb:4:in `each_line'
from hurrah.rb:4:in `<main>'
Run Code Online (Sandbox Code Playgroud)
输入文件(input.txt)列之间用制表符分隔。
10.3.2.021.asd 10.3.2.041.def SVNFolders.txt
SubversionNotify Subversionweelta post-commit.bat
Commit message still rake customemail.txt
mckechney.com yahoo.in ReadMe.txt
Run Code Online (Sandbox Code Playgroud)
代码:
dir = 'H:/Ruby_test_works'
file = File.open("#{dir}/input.txt", "r")
file.each_line do |line|
initial, final, file_name = line.split("\t")
#puts file_name
old_value = File.read("#{dir}/#{file_name}")
replace = old_value.gsub( /#{Regexp.escape(initial)}, #{Regexp.escape(final)}/)
File.open("#{dir}/#{file_name}", "w") { |fi| fi.puts replace }
end
Run Code Online (Sandbox Code Playgroud)
我尝试过使用正斜杠和反斜杠,但没有运气。我所缺少的,不确定。谢谢。
puts file_name 给出以下值 …
输入:
my_list = [
{'Name':'Jack', 'Surname': 'Reacher', 'Blogs':{'BlogName': 'python2', 'Date':'20200101' }},
{'Name':'Jack2', 'Surname': 'Reacher2', 'Blogs':{'BlogName':'Python3','Date':'20200201'}}
]
Run Code Online (Sandbox Code Playgroud)
预期输出:
arr_1 = [ {'Name':'Jack', 'Surname':'Reacher'}, {'Name':'Jack2', 'Surname':'Reacher2'} ]
arr_2 = [ {'ParentId':'Jack', 'BlogName':'python2','Date1':'20200101'},
{'ParentId':'Jack2','BlogName':'Python3','Date1':'20200201'} ]
Run Code Online (Sandbox Code Playgroud)
我得到的输出:
arr_1 = [ {'Name': 'Jack'}, {'Surname': 'Reacher'}, {'Name': 'Jack2'}, {'Surname': 'Reacher2'} ]
arr_2 = [{'ParentId': 'Jack'}, {'BlogName': 'python2', 'Date': '20200101'},
{'ParentId': 'Jack2'}, {'BlogName': 'Python3', 'Date': '20200201'}]
Run Code Online (Sandbox Code Playgroud)
我应该如何展平 'arr_2' 的字典?
for lis in my_list:
for k, v in lis.items():
if not k == 'Blogs':
arr_1.append({k:v})
for lis in …Run Code Online (Sandbox Code Playgroud)