about summary refs log tree commit diff
path: root/src/libutil/logging.hh
AgeCommit message (Collapse)AuthorFilesLines
2019-08-02 Add a post-build-hookregnat1-0/+2
Passing `--post-build-hook /foo/bar` to a nix-* command will cause `/foo/bar` to be executed after each build with the following environment variables set: DRV_PATH=/nix/store/drv-that-has-been-built.drv OUT_PATHS=/nix/store/...build /nix/store/...build-bin /nix/store/...build-dev This can be useful in particular to upload all the builded artifacts to the cache (including the ones that don't appear in the runtime closure of the final derivation or are built because of IFD). This new feature prints the stderr/stdout output to the `nix-build` and `nix build` client, and the output is printed in a Nix 2 compatible format: [nix]$ ./inst/bin/nix-build ./test.nix these derivations will be built: /nix/store/ishzj9ni17xq4hgrjvlyjkfvm00b0ch9-my-example-derivation.drv building '/nix/store/ishzj9ni17xq4hgrjvlyjkfvm00b0ch9-my-example-derivation.drv'... hello! bye! running post-build-hook '/home/grahamc/projects/github.com/NixOS/nix/post-hook.sh'... post-build-hook: + sleep 1 post-build-hook: + echo 'Signing paths' /nix/store/qr213vjmibrqwnyp5fw678y7whbkqyny-my-example-derivation post-build-hook: Signing paths /nix/store/qr213vjmibrqwnyp5fw678y7whbkqyny-my-example-derivation post-build-hook: + sleep 1 post-build-hook: + echo 'Uploading paths' /nix/store/qr213vjmibrqwnyp5fw678y7whbkqyny-my-example-derivation post-build-hook: Uploading paths /nix/store/qr213vjmibrqwnyp5fw678y7whbkqyny-my-example-derivation post-build-hook: + sleep 1 post-build-hook: + printf 'very important stuff' /nix/store/qr213vjmibrqwnyp5fw678y7whbkqyny-my-example-derivation [nix-shell:~/projects/github.com/NixOS/nix]$ ./inst/bin/nix build -L -f ./test.nix my-example-derivation> hello! my-example-derivation> bye! my-example-derivation (post)> + sleep 1 my-example-derivation (post)> + echo 'Signing paths' /nix/store/c263gzj2kb2609mz8wrbmh53l14wzmfs-my-example-derivation my-example-derivation (post)> Signing paths /nix/store/c263gzj2kb2609mz8wrbmh53l14wzmfs-my-example-derivation my-example-derivation (post)> + sleep 1 my-example-derivation (post)> + echo 'Uploading paths' /nix/store/c263gzj2kb2609mz8wrbmh53l14wzmfs-my-example-derivation my-example-derivation (post)> Uploading paths /nix/store/c263gzj2kb2609mz8wrbmh53l14wzmfs-my-example-derivation my-example-derivation (post)> + sleep 1 my-example-derivation (post)> + printf 'very important stuff' [1 built, 0.0 MiB DL] Co-authored-by: Graham Christensen <graham@grahamc.com> Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2019-06-25 Add "warning" verbosity levelEelco Dolstra1-0/+1
This ensures that "nix" shows warnings. Previously these were hidden because they were at "info" level. (cherry picked from commit 615a9d031d22a6aee64f8511e15685e47b6f8796)
2018-03-12 Wrap thread local in function for CygwinAsad Saeeduddin1-5/+6
Fixes #1826. See #1352 for a previous instance of a similar change.
2018-03-06 logging: Don't throw from Activity destructorWill Dietz1-2/+1
Move definition of destructor to logging.cc for access to util.hh's ignoreException.
2017-10-24 More progress indicator improvementsEelco Dolstra1-1/+2
Fixes #1599.
2017-10-24 Handle log messages from build-remoteEelco Dolstra1-0/+5
This makes the progress indicator show statuses like "connecting to 'root@machine'".
2017-08-31 Add an activity for binary cache queriesEelco Dolstra1-0/+1
2017-08-31 Fix mismatched tag warningEelco Dolstra1-1/+1
https://hydra.nixos.org/build/59649086
2017-08-28 Give activities a verbosity level againEelco Dolstra1-2/+6
And print them (separately from the progress bar) given sufficient -v flags.
2017-08-28 Tunnel progress messages from the daemon to the clientEelco Dolstra1-1/+1
This makes the progress bar work for non-root users.
2017-08-28 SimplifyEelco Dolstra1-3/+2
2017-08-25 SimplifyEelco Dolstra1-4/+8
2017-08-25 Allow derivations to update the build phaseEelco Dolstra1-0/+1
So the progress bar can show [1/0/1 built, 0.0 MiB DL] building hello-2.10 (configuring): checking whether pread is declared without a macro... yes
2017-08-25 Allow activities to be nestedEelco Dolstra1-2/+12
In particular, this allows more relevant activities ("substituting X") to supersede inferior ones ("downloading X").
2017-08-25 Restore activity metadataEelco Dolstra1-15/+19
This allows the progress bar to display "building perl-5.22.3" instead of "building /nix/store/<hash>-perl-5.22.3.drv".
2017-08-21 Disallow accidental copy constructionEelco Dolstra1-0/+2
2017-08-16 nix verify: Restore the progress indicatorEelco Dolstra1-0/+3
2017-08-16 nix optimise-store: Show how much space has been freedEelco Dolstra1-5/+26
2017-08-16 nix optimise-store: AddEelco Dolstra1-0/+1
This replaces "nix-store --optimise". Main difference is that it has a progress indicator.
2017-08-16 Progress indicator: CleanupEelco Dolstra1-66/+32
2017-08-16 Progress indicator: More improvementsEelco Dolstra1-3/+2
2017-08-16 Progress indicator: Show number of active itemsEelco Dolstra1-12/+1
2017-08-16 Progress indicator: Unify "copying" and "substituting"Eelco Dolstra1-8/+3
They're the same thing after all. Example: $ nix build --store local?root=/tmp/nix nixpkgs.firefox-unwrapped [0/1 built, 49/98 copied, 16.3/92.8 MiB DL, 55.8/309.2 MiB copied] downloading 'https://cache.nixos.org/nar/0pl9li1jigcj2dany47hpmn0r3r48wc4nz48v5mqhh426lgz3bz6.nar.xz'
2017-08-16 Improve substitution progress indicatorEelco Dolstra1-4/+2
E.g. $ nix build --store local?root=/tmp/nix nixpkgs.firefox-unwrapped [0/1 built, 1/97/98 fetched, 65.8/92.8 MiB DL, 203.2/309.2 MiB copied] downloading 'https://cache.nixos.org/nar/1czm9fk0svacy4h6a3fzkpafi4f7a9gml36kk8cq1igaghbspg3k.nar.xz'
2017-08-16 nix copy: Improve progress indicatorEelco Dolstra1-1/+15
It now shows the amount of data copied: [8/1038 copied, 160.4/1590.9 MiB copied] copying path '...'
2017-08-16 nix copy: Revive progress barEelco Dolstra1-0/+15
2017-05-29 Fix build failure on Debian/UbuntuEelco Dolstra1-1/+0
http://hydra.nixos.org/build/53537463
2017-05-16 Improve progress indicatorEelco Dolstra1-26/+65
2017-05-15 Make fmt() non-recursiveEelco Dolstra1-1/+1
2017-04-13 Add warn functionEelco Dolstra1-0/+10
2017-02-14 Add support for s3:// URIsEelco Dolstra1-0/+1
This adds support for s3:// URIs in all places where Nix allows URIs, e.g. in builtins.fetchurl, builtins.fetchTarball, <nix/fetchurl.nix> and NIX_PATH. It allows fetching resources from private S3 buckets, using credentials obtained from the standard places (i.e. AWS_* environment variables, ~/.aws/credentials and the EC2 metadata server). This may not be super-useful in general, but since we already depend on aws-sdk-cpp, it's a cheap feature to add.
2016-12-06 Use a steady clock for timeoutsEelco Dolstra1-0/+1
Fixes #1146.
2016-09-21 Some notational convenience for formatting stringsEelco Dolstra1-3/+8
We can now write throw Error("file '%s' not found", path); instead of throw Error(format("file '%s' not found") % path); and similarly printError("file '%s' not found", path); instead of printMsg(lvlError, format("file '%s' not found") % path);
2016-04-25 Improved logging abstractionEelco Dolstra1-0/+82
This also gets rid of --log-type, since the nested log type isn't useful in a multi-threaded situation, and nobody cares about the "pretty" log type.