Comments (2)
Hey @BillyUdders, thanks for logging!
I think this is unfortunately expected from Python's builtin logging.handlers.HTTPHandler
. From the docs1:
Since preparing a record for sending it to a web server is not the same as a generic formatting operation, using
setFormatter()
to specify aFormatter
for aHTTPHandler
has no effect. Instead of callingformat()
, this handler callsmapLogRecord()
and thenurllib.parse.urlencode()
to encode the dictionary in a form suitable for sending to a web server.
Perhaps you could try using a package like python-logstash-async
2. You would need to install it in the same venv as Meltano. If you're using pipx3, it's as simple as
pipx inject meltano python-logstash-async
Footnotes
from meltano.
Can confirm the above:
import logging
from logging.handlers import HTTPHandler
from urllib.parse import urlencode
record = logging.LogRecord("my_logger", logging.INFO, "/path/to/file.py", 10, "EVENT!", (), None)
handler = HTTPHandler("localhost", 5000)
print(urlencode(handler.mapLogRecord(record)))
# name=my_logger&msg=EVENT%21&args=%28%29&levelname=INFO&levelno=20&pathname=%2Fpath%2Fto%2Ffile.py&filename=file.py&module=file&exc_info=None&exc_text=None&stack_info=None&lineno=10&funcName=None&created=1706751680.052684&msecs=52.0&relativeCreated=8.797883987426758&thread=8648734912&threadName=MainThread&processName=MainProcess&process=39301&taskName=None
Closing, since this is not a bug and is not Meltano's doing.
from meltano.
Related Issues (20)
- feature: System database support for AWS S3 HOT 6
- Replace use of flakeheaven with Ruff for flake8-errmsg
- docs: 404 on `/concepts/plugins/project` HOT 1
- Replace use of flakeheaven with Ruff for flake8-print
- Replace use of flakeheaven with Ruff for flake8-return
- feature: Capture run ID HOT 7
- Ruff: Enable flake8-pie, flake8-quotes and flake8-debugger
- feature: Make `pip` an explicit dependency of Meltano HOT 1
- bug: public discovery.yml is throwing 404 HOT 12
- bug: Environment variables are not passed from `.env` to the `pip install ...` subprocess
- Missing dependency wheels tracker
- feature: Make installation progress messages use logging instead of `click.echo` HOT 2
- bug: SingerMapper sets mapping configuration provided from env to null HOT 3
- bug: mysql-tap test returns Plugin configuration is invalid HOT 3
- feature: Add a `--run-id` option to `meltano el` similar to the one in `meltano run`
- bug: `meltano config <extractor> test` fails for SDK-based taps configured to use `BATCH` messages
- bug: Output of `meltano select <extractor> --list` is **visually** inconsistent between different Python 3.8-3.10 and 3.11+
- bug: Known upstream uv issues
- bug: Partial state causes failure when using a filesystem-based state backend
- bug: documentation for configuring plug-in python version HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from meltano.