3 ms·
Just so I understand, you are saying that the entire concept of the 12 factor app is bogus because it tells you to write unformatted logs to stdout because anyt
by lexicality 3y ago
Just so I understand, you are saying that the entire concept of the 12 factor app is bogus because it tells you to write unformatted logs to stdout because anything you write to stdout is by its very nature unformatted because even if you're outputting formatted data something else in your program might decide to concurrently write into your stdout buffer while you're writing a log line and that will corrupt your entire data stream irreparably?
- cduzz 3y agoI'm saying that, the one thing I know about looks like obvious nonsense -- "write your logs to stdout and let someone else sort it out" -- so I assume the rest of it is equally facile and silly. So now, when I see a reference to "12 factor app" I assume "ah, a hello world app from someone who's going to leave and let someone else figure out how to make it work in the real world at real loads with real regulatory or compliance needs" In other words, for me, it's a shibboleth for "toy" or "unserious piece of shit" There may, in fact, be parts of the guidance that aren't deeply incorrect. But anyone who points at it as a way to do things, without caveats, is suspect.
- jameshart 3y agoIt's not 'someone else'. It's whatever environment the application ends up running in. The idea of 12 factor is to define a reasonable interface for your application. The environment doesn't need to worry about providing interfaces to logging services or collecting files from a custom directory, or making sure the application isn't going to fill the disk with log output - if the app is 12 factor, the only thing the environment needs to do is collect stdout. As a 12 factor app, write such that what you put on stdout is useful for that purpose. As a system hosting 12 factor apps, collect stdout and put it somewhere useful. As a developer of a 12 factor app, when you want to see your log output, go wherever the environment puts it and look there. That's a useful contract that works at scale. Not sure why you think it doesn't.
- lexicality 3y agoThat's a fascinating way to live. I'd love to know what other things you saw one part of and then dismissed fully without further investigation. Are iPhones unacceptable because they suggest you set a 4 digit pin for access? Aeroplane safety demonstrations? Languages with gendered verbs?