[PATCH] Human-readable timestamp logfiles
Jos Backus <[email protected]> Mon, 12 Nov 2012 17:47:45 -0800
| Newsgroups | gmane.comp.djb.syslog |
|---|---|
| Message-ID | <CAETOPp09TNjj-hYwftJc8-4N=wc9yLuQUnJ=Wb7wEnFvxDek0A@mail.gmail.com> |
--047d7b343934c44ccf04ce569ac9 Content-Type: multipart/alternative; boundary=047d7b343934c44ccb04ce569ac7 --047d7b343934c44ccb04ce569ac7 Content-Type: text/plain; charset=ISO-8859-1 Hi, The attached patch (against daemontools-encore-1.05) adds a `h'/'`H' script command. Notably, the `H' script command changes the log filename format from TAI64N to the following format (using localtime(), like tai64nlocal): +YYYYMMDDHHMMSS.NNNNNNNNN Here's an example using the following multilog invocation: multilog t H s100 n5 ./main [root@centos6-dev main]# ls -l total 20 -rwxr--r-- 1 root root 2145 Nov 12 09:04 +20121112090406.000979292.s -rwxr--r-- 1 root root 2145 Nov 12 09:04 +20121112090446.000045734.s -rwxr--r-- 1 root root 2145 Nov 12 09:05 +20121112090525.000113931.s -rwxr--r-- 1 root root 2145 Nov 12 09:06 +20121112090604.000174738.s -rw-r--r-- 1 root root 1320 Nov 12 09:06 current -rw------- 1 root root 0 Nov 12 07:23 lock -rw-r--r-- 1 root root 0 Nov 12 07:23 state [root@centos6-dev main]# ls -l total 20 -rwxr--r-- 1 root root 2145 Nov 12 09:04 +20121112090446.000045734.s -rwxr--r-- 1 root root 2145 Nov 12 09:05 +20121112090525.000113931.s -rwxr--r-- 1 root root 2145 Nov 12 09:06 +20121112090604.000174738.s -rwxr--r-- 1 root root 2145 Nov 12 09:06 +20121112090643.000231651.s -rw-r--r-- 1 root root 55 Nov 12 09:06 current -rw------- 1 root root 0 Nov 12 07:23 lock -rw-r--r-- 1 root root 0 Nov 12 07:23 state [root@centos6-dev main]# Comments welcome. Jos -- Jos Backus jos at catnook.com --047d7b343934c44ccb04ce569ac7 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hi,<br><br>The attached patch (against daemontools-encore-1.05) adds a `h&#= 39;/'`H' script command. Notably, the `H' script command change= s the log filename format from TAI64N to the following format (using localt= ime(), like tai64nlocal):<br> <br>+YYYYMMDDHHMMSS.NNNNNNNNN<br><br>Here's an example using the follow= ing multilog invocation:<br>=A0<br>multilog t H s100 n5 ./main<br>=A0<br>[r= oot@centos6-dev main]# ls -l<br>total 20<br>-rwxr--r-- 1 root root 2145 Nov= 12 09:04 +20121112090406.000979292.s<br> -rwxr--r-- 1 root root 2145 Nov 12 09:04 +20121112090446.000045734.s<br>-rw= xr--r-- 1 root root 2145 Nov 12 09:05 +20121112090525.000113931.s<br>-rwxr-= -r-- 1 root root 2145 Nov 12 09:06 +20121112090604.000174738.s<br>-rw-r--r-= - 1 root root 1320 Nov 12 09:06 current<br> -rw------- 1 root root=A0=A0=A0 0 Nov 12 07:23 lock<br>-rw-r--r-- 1 root ro= ot=A0=A0=A0 0 Nov 12 07:23 state<br>[root@centos6-dev main]# ls -l<br>total= 20<br>-rwxr--r-- 1 root root 2145 Nov 12 09:04 +20121112090446.000045734.s= <br>-rwxr--r-- 1 root root 2145 Nov 12 09:05 +20121112090525.000113931.s<br= > -rwxr--r-- 1 root root 2145 Nov 12 09:06 +20121112090604.000174738.s<br>-rw= xr--r-- 1 root root 2145 Nov 12 09:06 +20121112090643.000231651.s<br>-rw-r-= -r-- 1 root root=A0=A0 55 Nov 12 09:06 current<br>-rw------- 1 root root=A0= =A0=A0 0 Nov 12 07:23 lock<br> -rw-r--r-- 1 root root=A0=A0=A0 0 Nov 12 07:23 state<br>[root@centos6-dev m= ain]# <br>=A0<br>Comments welcome.<br><br>Jos<br>-- <br><div><font><font fa= ce=3D"arial,helvetica,sans-serif">Jos Backus</font></font></div><div><font>= <font face=3D"arial,helvetica,sans-serif">jos at <a href=3D"http://catnook.= com" target=3D"_blank">catnook.com</a><br> </font></font></div><br> --047d7b343934c44ccb04ce569ac7-- --047d7b343934c44ccf04ce569ac9 Content-Type: application/octet-stream; name="dt-human_filenames.patch" Content-Disposition: attachment; filename="dt-human_filenames.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h9gd1knh0 ZGlmZiAtLWdpdCBhL211bHRpbG9nLmMgYi9tdWx0aWxvZy5jCmluZGV4IDEyNTAyMDcuLjI4NjJi MzUgMTAwNjQ0Ci0tLSBhL211bHRpbG9nLmMKKysrIGIvbXVsdGlsb2cuYwpAQCAtNzksNiArNzks NyBAQCBzdHJ1Y3QgY3ljbG9nIHsKICAgdW5zaWduZWQgbG9uZyBieXRlczsKICAgdW5zaWduZWQg bG9uZyBudW07CiAgIHVuc2lnbmVkIGxvbmcgc2l6ZTsKKyAgaW50IGh1bWFuX2ZpbGVuYW1lczsK ICAgY29uc3QgY2hhciAqcHJvY2Vzc29yOwogICBjb25zdCBjaGFyICpjb2RlX2ZpbmlzaGVkOwog ICBjb25zdCBjaGFyICpkaXI7CkBAIC0xMDAsNyArMTAxLDcgQEAgaW50IGZpbGVzZml0KHN0cnVj dCBjeWNsb2cgKmQpCiAgIGRpciA9IG9wZW5kaXIoIi4iKTsKICAgaWYgKCFkaXIpIHJldHVybiAt MTsKIAotICBmbi5zWzBdID0gJ0AnOworICBmbi5zWzBdID0gZC0+aHVtYW5fZmlsZW5hbWVzID8g JysnIDogJ0AnOwogICBmbi5zWzFdID0gJ3onOwogICBmbi5zWzJdID0gMDsKIApAQCAtMTA5LDcg KzExMCw3IEBAIGludCBmaWxlc2ZpdChzdHJ1Y3QgY3ljbG9nICpkKQogICAgIGVycm5vID0gMDsK ICAgICB4ID0gcmVhZGRpcihkaXIpOwogICAgIGlmICgheCkgYnJlYWs7Ci0gICAgaWYgKHgtPmRf bmFtZVswXSA9PSAnQCcpCisgICAgaWYgKHgtPmRfbmFtZVswXSA9PSAoZC0+aHVtYW5fZmlsZW5h bWVzID8gJysnIDogJ0AnKSkKICAgICAgIGlmIChzdHJfbGVuKHgtPmRfbmFtZSkgPj0gMjUpIHsK ICAgICAgICAgKytjb3VudDsKICAgICAgICAgaWYgKHN0cl9kaWZmKHgtPmRfbmFtZSxmbi5zKSA8 IDApIHsKQEAgLTEzMSw3ICsxMzIsNyBAQCBpbnQgZmlsZXNmaXQoc3RydWN0IGN5Y2xvZyAqZCkK ICAgICBlcnJubyA9IDA7CiAgICAgeCA9IHJlYWRkaXIoZGlyKTsKICAgICBpZiAoIXgpIGJyZWFr OwotICAgIGlmICh4LT5kX25hbWVbMF0gPT0gJ0AnKQorICAgIGlmICh4LT5kX25hbWVbMF0gPT0g KGQtPmh1bWFuX2ZpbGVuYW1lcyA/ICcrJyA6ICdAJykpCiAgICAgICBpZiAoc3RyX2xlbih4LT5k X25hbWUpID49IDI1KQogICAgICAgICBpZiAoc3RyX3N0YXJ0KHgtPmRfbmFtZSxmbi5zKSkgewog CSAgdW5saW5rKHgtPmRfbmFtZSk7CkBAIC0xNTYsNyArMTU3LDkgQEAgdm9pZCBmaW5pc2goc3Ry dWN0IGN5Y2xvZyAqZCxjb25zdCBjaGFyICpmaWxlLGNvbnN0IGNoYXIgKmNvZGUpCiAKICAgaWYg KHN0LnN0X25saW5rID09IDEpCiAgICAgZm9yICg7OykgewotICAgICAgZm5sZW4gPSBmbXRfdGFp NjRuc3RhbXAoZm4ucyk7CisgICAgICBmbmxlbiA9IGQtPmh1bWFuX2ZpbGVuYW1lcworICAgICAg ICA/IGZtdF9odW1hbnN0YW1wKGZuLnMpCisgICAgICAgIDogZm10X3RhaTY0bnN0YW1wKGZuLnMp OwogICAgICAgZm4uc1tmbmxlbisrXSA9ICcuJzsKICAgICAgIGRvIHsKIAlmbi5zW2ZubGVuKytd ID0gKmNvZGU7CkBAIC0zODYsNiArMzg5LDcgQEAgdm9pZCBjX2luaXQoY2hhciAqKnNjcmlwdCkK ICAgY29uc3QgY2hhciAqcHJvY2Vzc29yOwogICB1bnNpZ25lZCBsb25nIG51bTsKICAgdW5zaWdu ZWQgbG9uZyBzaXplOworICBpbnQgaHVtYW5fZmlsZW5hbWVzOwogICBjb25zdCBjaGFyICpjb2Rl X2ZpbmlzaGVkID0gInMiOwogCiAgIGNudW0gPSAwOwpAQCAtNDAwLDYgKzQwNCw3IEBAIHZvaWQg Y19pbml0KGNoYXIgKipzY3JpcHQpCiAgIHByb2Nlc3NvciA9IDA7CiAgIG51bSA9IDEwOwogICBz aXplID0gOTk5OTk7CisgIGh1bWFuX2ZpbGVuYW1lcyA9IDA7CiAKICAgZm9yIChpID0gMDtzY3Jp cHRbaV07KytpKQogICAgIGlmIChzY3JpcHRbaV1bMF0gPT0gJ3MnKSB7CkBAIC00MTEsNiArNDE2 LDEyIEBAIHZvaWQgY19pbml0KGNoYXIgKipzY3JpcHQpCiAgICAgICBzY2FuX3Vsb25nKHNjcmlw dFtpXSArIDEsJm51bSk7CiAgICAgICBpZiAobnVtIDwgMikgbnVtID0gMjsKICAgICB9CisgICAg ZWxzZSBpZiAoc2NyaXB0W2ldWzBdID09ICdoJykgeworICAgICAgaHVtYW5fZmlsZW5hbWVzID0g MDsKKyAgICB9CisgICAgZWxzZSBpZiAoc2NyaXB0W2ldWzBdID09ICdIJykgeworICAgICAgaHVt YW5fZmlsZW5hbWVzID0gMTsKKyAgICB9CiAgICAgZWxzZSBpZiAoc2NyaXB0W2ldWzBdID09ICch JykgewogICAgICAgcHJvY2Vzc29yID0gc2NyaXB0W2ldICsgMTsKICAgICB9CkBAIC00MjIsNiAr NDMzLDcgQEAgdm9pZCBjX2luaXQoY2hhciAqKnNjcmlwdCkKICAgICBlbHNlIGlmICgoc2NyaXB0 W2ldWzBdID09ICcuJykgfHwgKHNjcmlwdFtpXVswXSA9PSAnLycpKSB7CiAgICAgICBkLT5udW0g PSBudW07CiAgICAgICBkLT5zaXplID0gc2l6ZTsKKyAgICAgIGQtPmh1bWFuX2ZpbGVuYW1lcyA9 IGh1bWFuX2ZpbGVuYW1lczsKICAgICAgIGQtPnByb2Nlc3NvciA9IHByb2Nlc3NvcjsKICAgICAg IGQtPmNvZGVfZmluaXNoZWQgPSBjb2RlX2ZpbmlzaGVkOwogICAgICAgZC0+ZGlyID0gc2NyaXB0 W2ldOwpkaWZmIC0tZ2l0IGEvdGltZXN0YW1wLmMgYi90aW1lc3RhbXAuYwppbmRleCA3MDE4YTJi Li44ZWE5Y2IwIDEwMDY0NAotLS0gYS90aW1lc3RhbXAuYworKysgYi90aW1lc3RhbXAuYwpAQCAt MzMsMyArMzMsNDQgQEAgaW50IGZtdF9hY2N1c3RhbXAoY2hhciBzW1RJTUVTVEFNUF0pCiAgIGxl biArPSBmbXRfdWludDAocytsZW4sbm93Lm5hbm8gLyAxMDAwLDYpOwogICByZXR1cm4gbGVuOwog fQorCisjaW5jbHVkZSA8dGltZS5oPgorCitpbnQgZm10X2h1bWFuc3RhbXAoY2hhciBzW1RJTUVT VEFNUF0pCit7CisgIHN0cnVjdCB0YWlhIG5vdzsKKyAgaW50IGxlbjsKKyAgdGltZV90IHNlY3M7 CisgIHN0cnVjdCB0bSAqdDsKKworICB0YWlhX25vdygmbm93KTsKKworICBzZWNzID0gKHVuc2ln bmVkIGxvbmcpdGFpX3RvdW5peCgmbm93LnNlYyk7CisgIHQgPSBsb2NhbHRpbWUoJnNlY3MpOwor CisgIGNoYXIgKnMxID0gczsKKyAgczFbMF0gPSAnKyc7ICsrczE7CisgIGxlbiA9IGZtdF91bG9u ZyhzMSwxOTAwICsgdC0+dG1feWVhcik7CisgIC8vIHMxW2xlbisrXSA9ICctJzsKKyAgczEgKz0g bGVuOworICBsZW4gPSBmbXRfdWludDAoczEsMSArIHQtPnRtX21vbiwyKTsKKyAgLy8gczFbbGVu KytdID0gJy0nOworICBzMSArPSBsZW47CisgIGxlbiA9IGZtdF91aW50MChzMSx0LT50bV9tZGF5 LDIpOworICAvLyBzMVtsZW4rK10gPSAnICc7CisgIHMxICs9IGxlbjsKKyAgbGVuID0gZm10X3Vp bnQwKHMxLHQtPnRtX2hvdXIsMik7CisgIC8vIHMxW2xlbisrXSA9ICc6JzsKKyAgczEgKz0gbGVu OworICBsZW4gPSBmbXRfdWludDAoczEsdC0+dG1fbWluLDIpOworICAvLyBzMVtsZW4rK10gPSAn Oic7CisgIHMxICs9IGxlbjsKKyAgbGVuID0gZm10X3VpbnQwKHMxLHQtPnRtX3NlYywyKTsKKyAg czFbbGVuKytdID0gJy4nOworICBzMSArPSBsZW47CisgIGxlbiA9IGZtdF91aW50MChzMSxub3cu bmFubyAvIDEwMDAsOSk7CisgIHMxICs9IGxlbjsKKworICBsZW4gPSBzMSAtIHM7CisgIHJldHVy biBsZW47Cit9CmRpZmYgLS1naXQgYS90aW1lc3RhbXAuaCBiL3RpbWVzdGFtcC5oCmluZGV4IGQx N2QxOTIuLjcyOGY1MWYgMTAwNjQ0Ci0tLSBhL3RpbWVzdGFtcC5oCisrKyBiL3RpbWVzdGFtcC5o CkBAIC01LDUgKzUsNiBAQAogCiBleHRlcm4gaW50IGZtdF90YWk2NG5zdGFtcChjaGFyICopOwog ZXh0ZXJuIGludCBmbXRfYWNjdXN0YW1wKGNoYXIgKik7CitleHRlcm4gaW50IGZtdF9odW1hbnN0 YW1wKGNoYXIgKik7CiAKICNlbmRpZgo= --047d7b343934c44ccf04ce569ac9--