Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w2qkJ-000fE7-1B for pgsql-hackers@arkaria.postgresql.org; Wed, 18 Mar 2026 13:15:35 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w2qkH-00Ao1S-04 for pgsql-hackers@arkaria.postgresql.org; Wed, 18 Mar 2026 13:15:33 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w2qkG-00Ao1K-1k for pgsql-hackers@lists.postgresql.org; Wed, 18 Mar 2026 13:15:32 +0000 Received: from mail-lj1-x235.google.com ([2a00:1450:4864:20::235]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w2qkD-00000000MRG-1FKJ for pgsql-hackers@lists.postgresql.org; Wed, 18 Mar 2026 13:15:31 +0000 Received: by mail-lj1-x235.google.com with SMTP id 38308e7fff4ca-38b13652c87so13196141fa.0 for ; Wed, 18 Mar 2026 06:15:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773839729; cv=none; d=google.com; s=arc-20240605; b=JFxhHwGMaHgpf8ghYgbh4vaqrRC99QreB03pSJl+pBUN9pY/SsKkOssK4Yqck4W/Q4 rAjHavwKQHQNlRN/v5mGyYLaJuvic4+cWhcxrH1sUPyND6MQe32ruMktRJ6WRntyIwEa 3qNhhP9iK+Okwzl9HtkUipH85Tr7dfkgOf21hIfD7h6cxZutp+/hSNciw4M6jPbIWld7 Nx/Pv0lxNzxjUGga63v5z8pS0+ubM6XbVZFsQylSYjDJxgmo3K/Vz8z1gKZvrUfksN/l MhA6/LWuY0haHCpBojCaKIr7Vp7nJ81HAfeO6S6Et+zN6Pi7vHm/LdZDL6+d9UCUlUMB zG7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=mYx1/rEcJXDmr3h94ty+jcdFE4g9hHSLz/tmcvP91Mo=; fh=UOJirAeKlyynEmqZ81YdPROFhDq0KDM8oDZznMY2olk=; b=aAVWb2HCfe5lvDBQ/ah46lHYSbveWbgjHGdNRVg4Lw5RyU02igwTJxVda274WXmKwR HkpX52tLCTi+9B17KJGh3gxLMpArfB3jKGrLhr6XQobh1sipQO4P4IWVb2cp/pe0agXG yCoWDlgkwPU1HBJgxui1koeryvGlCbfhL7+AF6NzqovgaR+3JC+CMoIm4a/z1ivi3jnG Ar9lkvpG5OSiph6aXwnejSv/h4mXQHn1C8xK8bRRb5+d2qZDhVmvhPpo3J6mh6eVthUO o7sijXfmLIrKS9Shdc7FxP67O3Tkzg/9RbMeMTlthfpmEDBtk3GeiZQMzob5WX17wzMo 1FIA==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773839729; x=1774444529; darn=lists.postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=mYx1/rEcJXDmr3h94ty+jcdFE4g9hHSLz/tmcvP91Mo=; b=W/hodgexOsm43M7xIw25bu0zBjFcrFpcHVI/Kxp0L1nTeUPba3Kibkkceiz+oVEtxQ EUfaixr89acUCYfISdve1u1Ude8UR8q4k2Aj90VEO+0CHHqInHdUsRs0KwwZ5OVW3afG tuwHMZD8K/eX2Y1n7m89x85XuA/8SPqlkPisKikb7J1N8f32Tq0/o1SZ+inWVBTW06Q6 TV+N47uVGAf4iYVXegU3+2DImFU3SViYxyai15B9YiGGKo8XLgZGmQHiFuOQHzUSOpju TKNENcaLwi8ZPi7SXOvC7n+OKbag1OJI+ZwyiT49XtlFIxw73G/ZFk17AYbjj/nJ/ekk yJwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773839729; x=1774444529; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=mYx1/rEcJXDmr3h94ty+jcdFE4g9hHSLz/tmcvP91Mo=; b=ajOlTXVlhqT2h6lSwDE3YL1JAhy3c2tv+F13zhbRGoDv3vv2CpadsUHtNaHYP95GTL 7yppyE64sDaNiiUbWN46pE3v81tj0LU+wJnJh1pUoFxO470RROWD2IWU6sY7EwMejRIr Zj366O5NMHmHwO4JIuGHjZDuvVDdcSnrCa8BMK36WdvZK2sQbpwIll9dhavzX8yrhrgK NwlC7TeRVqt/CqHKa8wMKtuKUyqMMDoTMIStFzddnzh6FlIgbbLuONU8lZXliZzJIyYp v0ObIx/j2dKG5T6/IJDt+KJvECDJpbjiDhcWVgFctUpsfs86xy9c1pgPlDgmUEpD9DsB dkXw== X-Forwarded-Encrypted: i=1; AJvYcCUgj6V401BMPZDJadU6tCAxfE0gZwi9UEXaED27ARIhx9ljiALekPA3Mx8uYKjxhN70xs7Y+vZM41WEwvCV@lists.postgresql.org X-Gm-Message-State: AOJu0YxjCVYZ8pxXr0zv0YSAAULywPb+Gk8HLuZssT8XwHzWNqGQ0p0A jmfqpBimKPWw4fsqCA+A0gCWKN/IQSqv0mUVJw4xQkfqpEUXUyzwmTQq+QjVn5ITag2EuTLlV0c qlzXD7FovRa8N1vitSOOQsrrxWFmfHrM= X-Gm-Gg: ATEYQzy0YeX1jQn7pzAoikcNjmbBXxVpf6woQulDtxz7t12cjPTbWkCt5sR4Ue6326/ lxrKFejX3uanNJuDxMfOtdACUTc6u3BeMvPAEt+I6j0ic3USQPjnwHF28OOXB0TQsAHKo/QKmtn j9EaU8xYHkxyQDOlbqtwfjuD1CnxWIbu6eRQyhBtQDOWFKIiItg20VqeEPgv594NrMuMnT/TR8g kAAD0Rtkl6VwQZZ14+KWtPazU9/RqZIpzrPtgPN1KDi0tQCREd7XC9nWckTIBqXdFsCXq62WiUh x8BTCsmKQ08Xyn3M9wuf76JNaI7PVRHPAAK76ys4 X-Received: by 2002:a05:651c:4416:20b0:38a:58df:c8e6 with SMTP id 38308e7fff4ca-38bd59b3a77mr10975751fa.29.1773839728953; Wed, 18 Mar 2026 06:15:28 -0700 (PDT) MIME-Version: 1.0 References: <48261e54-c4f1-4bde-a4a9-4f3698a6b380@app.fastmail.com> In-Reply-To: From: Amit Kapila Date: Wed, 18 Mar 2026 18:45:17 +0530 X-Gm-Features: AaiRm53lYPF2dSWxaWpHqN4fYCRA7fozpFi58yRFtgx1KOegsQy3fSEgKWgnBoI Message-ID: Subject: Re: [Proposal] Adding Log File Capability to pg_createsubscriber To: Gyan Sreejith Cc: Shlok Kyal , vignesh C , Euler Taveira , "kuroda.hayato@fujitsu.com" , "pgsql-hackers@lists.postgresql.org" , Peter Smith Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, Mar 18, 2026 at 4:55=E2=80=AFAM Gyan Sreejith wrote: > > Thanks a lot, Shlok, for all the changes. I have included the changes fro= m topup.patch to my changes. > +#undef pg_log_warning +#define pg_log_warning(...) \ + if (internal_log_file_fp !=3D NULL) \ + internal_log_file_write(PG_LOG_WARNING, __VA_ARGS__); \ + pg_log_generic(PG_LOG_WARNING, PG_LOG_PRIMARY, __VA_ARGS__) + +#undef pg_log_warning_detail +#define pg_log_warning_detail(...) \ + if (internal_log_file_fp !=3D NULL) \ + internal_log_file_write(PG_LOG_WARNING, __VA_ARGS__); \ + pg_log_generic(PG_LOG_WARNING, PG_LOG_DETAIL, __VA_ARGS__) + +#undef pg_log_warning_hint +#define pg_log_warning_hint(...) \ + if (internal_log_file_fp !=3D NULL) \ + internal_log_file_write(PG_LOG_WARNING, __VA_ARGS__); \ + pg_log_generic(PG_LOG_WARNING, PG_LOG_HINT, __VA_ARGS__) + +#undef pg_log_info +#define pg_log_info(...) do { \ + if (internal_log_file_fp !=3D NULL) \ + internal_log_file_write(PG_LOG_INFO, __VA_ARGS__); \ + else \ + pg_log_generic(PG_LOG_INFO, PG_LOG_PRIMARY, __VA_ARGS__); \ +} while(0) + +#undef pg_log_info_hint +#define pg_log_info_hint(...) do { \ + if (internal_log_file_fp !=3D NULL) \ + internal_log_file_write(PG_LOG_INFO, __VA_ARGS__); \ + else \ + pg_log_generic(PG_LOG_INFO, PG_LOG_HINT, __VA_ARGS__); \ +} while(0) + +#undef pg_log_debug +#define pg_log_debug(...) do { \ + if (unlikely(__pg_log_level <=3D PG_LOG_DEBUG)) { \ + if (internal_log_file_fp !=3D NULL) \ + internal_log_file_write(PG_LOG_DEBUG, __VA_ARGS__); \ + else \ + pg_log_generic(PG_LOG_DEBUG, PG_LOG_PRIMARY, __VA_ARGS__); \ + } \ +} while(0) + +#undef pg_fatal +#define pg_fatal(...) do { \ + if (internal_log_file_fp !=3D NULL) \ + internal_log_file_write(PG_LOG_ERROR, __VA_ARGS__); \ + pg_log_generic(PG_LOG_ERROR, PG_LOG_PRIMARY, __VA_ARGS__); \ + exit(1); \ +} while(0) This looks odd to me. I think it would be better to encapsulate this in one function (something like we have in pg_log_v) and then based on log level, do required handling. --=20 With Regards, Amit Kapila.