diff --git a/aztec-up/bin/aztec b/aztec-up/bin/aztec index a53fc09c6058..e73f81f65063 100755 --- a/aztec-up/bin/aztec +++ b/aztec-up/bin/aztec @@ -26,6 +26,9 @@ function cleanup { CALLED_FROM=$PWD +# By default, force colors. +export FORCE_COLOR=${FORCE_COLOR:-1} + if [ "${1:-}" == "test" ]; then # Change working dir, so relative volume mounts are in the right place. cd $(dirname $0)/.. diff --git a/aztec-up/bin/docker-compose.sandbox.yml b/aztec-up/bin/docker-compose.sandbox.yml index 2db528a22222..72777e3bc2a0 100644 --- a/aztec-up/bin/docker-compose.sandbox.yml +++ b/aztec-up/bin/docker-compose.sandbox.yml @@ -24,6 +24,7 @@ services: HOST_WORKDIR: "${PWD}" # Loaded from the user shell to show log files absolute path in host ETHEREUM_HOST: ${ETHEREUM_HOST:-http://ethereum}:${ANVIL_PORT:-8545} L1_CHAIN_ID: 31337 + FORCE_COLOR: ${FORCE_COLOR:-1} ARCHIVER_POLLING_INTERVAL_MS: 50 P2P_BLOCK_CHECK_INTERVAL_MS: 50 SEQ_TX_POLLING_INTERVAL_MS: 50 diff --git a/boxes/docker-compose.yml b/boxes/docker-compose.yml index a8c8c3a2ec3f..572112452506 100644 --- a/boxes/docker-compose.yml +++ b/boxes/docker-compose.yml @@ -20,6 +20,7 @@ services: environment: ETHEREUM_HOST: http://ethereum:8545 L1_CHAIN_ID: 31337 + FORCE_COLOR: ${FORCE_COLOR:-1} ARCHIVER_POLLING_INTERVAL_MS: 50 P2P_BLOCK_CHECK_INTERVAL_MS: 50 SEQ_TX_POLLING_INTERVAL_MS: 50 @@ -48,6 +49,7 @@ services: DEBUG_COLORS: "true" ETHEREUM_HOST: http://ethereum:8545 L1_CHAIN_ID: 31337 + FORCE_COLOR: ${FORCE_COLOR:-1} PXE_URL: http://aztec:8080 VITE_AZTEC_NODE_URL: http://aztec:8080 BOX: ${BOX:-vanilla} diff --git a/docker-compose.provernet.yml b/docker-compose.provernet.yml index 372d2602e9eb..55afbdc69899 100644 --- a/docker-compose.provernet.yml +++ b/docker-compose.provernet.yml @@ -60,7 +60,6 @@ services: LOG_LEVEL: verbose ETHEREUM_HOST: http://ethereum:8545 PROVER_COORDINATION_NODE_URL: http://aztec-node - L1_CHAIN_ID: 31337 AZTEC_PORT: 80 ARCHIVER_POLLING_INTERVAL_MS: 1000 ARCHIVER_VIEM_POLLING_INTERVAL_MS: 1000 diff --git a/yarn-project/aztec/docker-compose.yml b/yarn-project/aztec/docker-compose.yml index 7d158f93f30e..086ad2a8d4e4 100644 --- a/yarn-project/aztec/docker-compose.yml +++ b/yarn-project/aztec/docker-compose.yml @@ -25,6 +25,7 @@ services: HOST_WORKDIR: '${PWD}' # Loaded from the user shell to show log files absolute path in host ETHEREUM_HOST: http://ethereum:8545 L1_CHAIN_ID: 31337 + FORCE_COLOR: ${FORCE_COLOR:-1} ARCHIVER_POLLING_INTERVAL_MS: 50 P2P_BLOCK_CHECK_INTERVAL_MS: 50 SEQ_TX_POLLING_INTERVAL_MS: 50 diff --git a/yarn-project/end-to-end/scripts/docker-compose-images.yml b/yarn-project/end-to-end/scripts/docker-compose-images.yml index 2645a856edf8..e1611ab215cd 100644 --- a/yarn-project/end-to-end/scripts/docker-compose-images.yml +++ b/yarn-project/end-to-end/scripts/docker-compose-images.yml @@ -14,6 +14,7 @@ services: LOG_LEVEL: ${LOG_LEVEL:-'verbose'} ETHEREUM_HOST: http://fork:8545 L1_CHAIN_ID: 31337 + FORCE_COLOR: ${FORCE_COLOR:-1} ARCHIVER_POLLING_INTERVAL_MS: 500 P2P_BLOCK_CHECK_INTERVAL_MS: 500 SEQ_TX_POLLING_INTERVAL_MS: 500 @@ -30,6 +31,7 @@ services: LOG_LEVEL: ${LOG_LEVEL:-'verbose'} ETHEREUM_HOST: http://fork:8545 L1_CHAIN_ID: 31337 + FORCE_COLOR: ${FORCE_COLOR:-1} PXE_URL: http://sandbox:8080 AZTEC_NODE_URL: http://sandbox:8080 entrypoint: > diff --git a/yarn-project/end-to-end/scripts/docker-compose-no-sandbox.yml b/yarn-project/end-to-end/scripts/docker-compose-no-sandbox.yml index f535a31518bb..349236cba398 100644 --- a/yarn-project/end-to-end/scripts/docker-compose-no-sandbox.yml +++ b/yarn-project/end-to-end/scripts/docker-compose-no-sandbox.yml @@ -14,6 +14,7 @@ services: LOG_LEVEL: ${LOG_LEVEL:-verbose} ETHEREUM_HOST: http://fork:8545 L1_CHAIN_ID: 31337 + FORCE_COLOR: ${FORCE_COLOR:-1} ARCHIVER_POLLING_INTERVAL_MS: 50 P2P_BLOCK_CHECK_INTERVAL_MS: 50 SEQ_TX_POLLING_INTERVAL_MS: 50 diff --git a/yarn-project/end-to-end/scripts/docker-compose-p2p.yml b/yarn-project/end-to-end/scripts/docker-compose-p2p.yml index 885da798a69d..d49b4fa0d387 100644 --- a/yarn-project/end-to-end/scripts/docker-compose-p2p.yml +++ b/yarn-project/end-to-end/scripts/docker-compose-p2p.yml @@ -29,6 +29,7 @@ services: DEBUG: ${DEBUG:-""} ETHEREUM_HOST: http://fork:8545 L1_CHAIN_ID: 31337 + FORCE_COLOR: ${FORCE_COLOR:-1} ARCHIVER_POLLING_INTERVAL_MS: 500 P2P_CHECK_INTERVAL: 50 SEQ_TX_POLLING_INTERVAL: 50 diff --git a/yarn-project/end-to-end/scripts/docker-compose-wallet.yml b/yarn-project/end-to-end/scripts/docker-compose-wallet.yml index cfa6983f6c48..2f5bdbc2a9d2 100644 --- a/yarn-project/end-to-end/scripts/docker-compose-wallet.yml +++ b/yarn-project/end-to-end/scripts/docker-compose-wallet.yml @@ -14,6 +14,7 @@ services: LOG_LEVEL: ${LOG_LEVEL:-verbose} ETHEREUM_HOST: http://fork:8545 L1_CHAIN_ID: 31337 + FORCE_COLOR: ${FORCE_COLOR:-1} ARCHIVER_POLLING_INTERVAL_MS: 50 P2P_BLOCK_CHECK_INTERVAL_MS: 50 SEQ_TX_POLLING_INTERVAL_MS: 50 @@ -29,6 +30,7 @@ services: LOG_LEVEL: ${LOG_LEVEL:-verbose} ETHEREUM_HOST: http://fork:8545 L1_CHAIN_ID: 31337 + FORCE_COLOR: ${FORCE_COLOR:-1} PXE_URL: http://sandbox:8080 working_dir: /usr/src/yarn-project/cli-wallet/test entrypoint: > diff --git a/yarn-project/end-to-end/scripts/docker-compose.yml b/yarn-project/end-to-end/scripts/docker-compose.yml index d98b7ef8a806..afbdee8b8a10 100644 --- a/yarn-project/end-to-end/scripts/docker-compose.yml +++ b/yarn-project/end-to-end/scripts/docker-compose.yml @@ -16,6 +16,7 @@ services: LOG_LEVEL: ${LOG_LEVEL:-verbose} ETHEREUM_HOST: http://fork:8545 L1_CHAIN_ID: 31337 + FORCE_COLOR: ${FORCE_COLOR:-1} ARCHIVER_POLLING_INTERVAL_MS: 500 P2P_BLOCK_CHECK_INTERVAL_MS: 500 SEQ_TX_POLLING_INTERVAL_MS: 500 @@ -39,6 +40,7 @@ services: LOG_LEVEL: ${LOG_LEVEL:-verbose} ETHEREUM_HOST: http://fork:8545 L1_CHAIN_ID: 31337 + FORCE_COLOR: ${FORCE_COLOR:-1} PXE_URL: http://sandbox:8080 AZTEC_NODE_URL: http://sandbox:8080 # Voodoo explanation. diff --git a/yarn-project/end-to-end/scripts/e2e_test.sh b/yarn-project/end-to-end/scripts/e2e_test.sh index d8aa1201bca1..c1150ef0f95b 100755 --- a/yarn-project/end-to-end/scripts/e2e_test.sh +++ b/yarn-project/end-to-end/scripts/e2e_test.sh @@ -73,6 +73,7 @@ else docker run \ -e HARDWARE_CONCURRENCY="$HARDWARE_CONCURRENCY" \ -e FAKE_PROOFS="$FAKE_PROOFS" \ + -e FORCE_COLOR=1 \ $env_args \ --volume "$(pwd)"/out:/out \ --rm aztecprotocol/end-to-end:$AZTEC_DOCKER_TAG \ diff --git a/yarn-project/end-to-end/scripts/e2e_test_public_testnet.sh b/yarn-project/end-to-end/scripts/e2e_test_public_testnet.sh index 514f3b0e654b..73c95dd5ef8b 100755 --- a/yarn-project/end-to-end/scripts/e2e_test_public_testnet.sh +++ b/yarn-project/end-to-end/scripts/e2e_test_public_testnet.sh @@ -31,6 +31,7 @@ fi docker run \ -e L1_CHAIN_ID="$L1_CHAIN_ID" \ -e ETHEREUM_HOST="${ETHEREUM_HOST:-}" \ + -e FORCE_COLOR="${FORCE_COLOR:-1}" \ -e SEQ_PUBLISHER_PRIVATE_KEY="${SEQ_PUBLISHER_PRIVATE_KEY:-}" \ -e PROVER_PUBLISHER_PRIVATE_KEY="${PROVER_PUBLISHER_PRIVATE_KEY:-}" \ -e HARDWARE_CONCURRENCY="$HARDWARE_CONCURRENCY" \ diff --git a/yarn-project/foundation/src/config/env_var.ts b/yarn-project/foundation/src/config/env_var.ts index aad0e6f1e1ad..3f266da38e8a 100644 --- a/yarn-project/foundation/src/config/env_var.ts +++ b/yarn-project/foundation/src/config/env_var.ts @@ -51,6 +51,7 @@ export type EnvVar = | 'FEE_JUICE_CONTRACT_ADDRESS' | 'FEE_JUICE_PORTAL_CONTRACT_ADDRESS' | 'FEE_RECIPIENT' + | 'FORCE_COLOR' | 'GOVERNANCE_PROPOSER_CONTRACT_ADDRESS' | 'GOVERNANCE_PROPOSER_PAYLOAD_ADDRESS' | 'INBOX_CONTRACT_ADDRESS' diff --git a/yarn-project/foundation/src/log/pino-logger.ts b/yarn-project/foundation/src/log/pino-logger.ts index 10e5847ffd0d..a76d30618d9f 100644 --- a/yarn-project/foundation/src/log/pino-logger.ts +++ b/yarn-project/foundation/src/log/pino-logger.ts @@ -1,4 +1,4 @@ -import { createColors } from 'colorette'; +import { createColors, isColorSupported } from 'colorette'; import isNode from 'detect-node'; import { pino, symbols } from 'pino'; import { type Writable } from 'stream'; @@ -113,7 +113,8 @@ export const levels = { }; // Transport options for pretty logging to stderr via pino-pretty. -const useColor = true; +const colorEnv = process.env['FORCE_COLOR' satisfies EnvVar]; +const useColor = colorEnv === undefined ? isColorSupported : parseBooleanEnv(colorEnv); const { bold, reset } = createColors({ useColor }); export const pinoPrettyOpts = { destination: 2,