Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mNuF5-0002Ns-Jc for pgsql-hackers@arkaria.postgresql.org; Wed, 08 Sep 2021 09:51:43 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mNuF4-00048B-JG for pgsql-hackers@arkaria.postgresql.org; Wed, 08 Sep 2021 09:51:42 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mNuF4-000483-B4 for pgsql-hackers@lists.postgresql.org; Wed, 08 Sep 2021 09:51:42 +0000 Received: from wout3-smtp.messagingengine.com ([64.147.123.19]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mNuF0-0004ZO-1p for pgsql-hackers@lists.postgresql.org; Wed, 08 Sep 2021 09:51:41 +0000 Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.west.internal (Postfix) with ESMTP id 392EF320099D; Wed, 8 Sep 2021 05:51:34 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Wed, 08 Sep 2021 05:51:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; bh=Bs+Erub0ClEnuJg/uwLSRSePHYmUdw5Gy/3xBD3pg aw=; b=cRTppfKsdTGzROhrRNTE1RJrYTZj+q0r779eafoUI5BIxbT2pSvZ/Hifl 16yMNSR+Y+BAQq8CmLU3PtreHCcHjSjjpxbIA63dfM/CzpXh3rfHacRifmNfzEIR wdbuDG9JdyKEDdPYC+FEJrZLmFDKDf4gYyCGK2xkO6KWYosx+NDCrgzXq0CO2C21 2sjMudu+ax7H4amO1Lam5fCl5HdBQZYDNZw60VH1DzdcNy23eFqjcCu0lGkbwCAi 63aChg8xTGNkPJJFCLmvkNaKhDskYtDdi77esxXn57AdU6+26bZWavEHzkBvgoEQ QnfFnCWRjBQdhFcvQ3l/7BfXm7t5A== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrudefjedgudekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepuffvfhfhkffffgggjggtgfesthejredttdefjeenucfhrhhomheprfgvthgv rhcugfhishgvnhhtrhgruhhtuceophgvthgvrhdrvghishgvnhhtrhgruhhtsegvnhhtvg hrphhrihhsvggusgdrtghomheqnecuggftrfgrthhtvghrnhepleevheehueeiudeiteei tdekueetleefteejffeiffdugedvffdvffdtiedvueeknecuvehluhhsthgvrhfuihiivg eptdenucfrrghrrghmpehmrghilhhfrhhomhepphgvthgvrhdrvghishgvnhhtrhgruhht segvnhhtvghrphhrihhsvggusgdrtghomh X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 8 Sep 2021 05:51:32 -0400 (EDT) Subject: Re: Proposal: More structured logging To: Ronan Dunklau , pgsql-hackers@lists.postgresql.org References: <3207907.AWbSqkKDnR@aivenronan> <163276811.1OrvvjSa7g@aivenronan> From: Peter Eisentraut Message-ID: <03fa81f6-77b0-e7eb-b390-dfe04f180495@enterprisedb.com> Date: Wed, 8 Sep 2021 11:51:31 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: <163276811.1OrvvjSa7g@aivenronan> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 01.09.21 10:00, Ronan Dunklau wrote: > In-core it would open up the possibility to split log messages into different > fields, for example the different statistics reported in the logs by VACUUM / > ANALYZE VERBOSE and make it easier to consume the output without having to > parse the message. Parsing the message also means that any tool parsing it > needs to either be aware of the locale, or to force the user to use a specific > one. I think those messages would themselves have substructure. For example, the current message "I/O timings: read: %.3f ms, write: %.3f ms\n" might be {"I/O timings": {"read": ..., "write": ...}} and that in turn is already part of a larger message. So just having a single level of tags wouldn't really work for this.