Repository: bensadeh/tailspin Branch: main Commit: 99766a74b0a2 Files: 84 Total size: 530.9 KB Directory structure: gitextract_xxj4fyy4/ ├── .envrc ├── .gitattributes ├── .github/ │ ├── dependabot.yml │ └── workflows/ │ ├── BuildAndTest.yml │ ├── Publish.yml │ └── ReleaseStaticBinaries.yml ├── .gitignore ├── CHANGELOG.md ├── Cargo.toml ├── LICENCE ├── README.md ├── benches/ │ ├── highlighters.rs │ └── no_match.rs ├── completions/ │ ├── tspin.bash │ ├── tspin.fish │ └── tspin.zsh ├── config.toml ├── example-logs/ │ ├── example1 │ ├── example2 │ ├── example3 │ ├── example4 │ └── example5 ├── flake.nix ├── man/ │ └── tspin.1 ├── rust-toolchain.toml ├── rustfmt.toml ├── src/ │ ├── cli/ │ │ ├── completions.rs │ │ ├── keywords.rs │ │ ├── mod.rs │ │ └── styles.rs │ ├── config/ │ │ └── mod.rs │ ├── core/ │ │ ├── config.rs │ │ ├── highlighter.rs │ │ ├── highlighters/ │ │ │ ├── date_dash.rs │ │ │ ├── date_time.rs │ │ │ ├── ip_v4.rs │ │ │ ├── ip_v6.rs │ │ │ ├── json.rs │ │ │ ├── key_value.rs │ │ │ ├── keyword.rs │ │ │ ├── mod.rs │ │ │ ├── number.rs │ │ │ ├── pointer.rs │ │ │ ├── quote.rs │ │ │ ├── regex.rs │ │ │ ├── unix_path.rs │ │ │ ├── unix_process.rs │ │ │ ├── url.rs │ │ │ └── uuid.rs │ │ ├── mod.rs │ │ ├── style.rs │ │ ├── tests/ │ │ │ └── escape_code_converter.rs │ │ └── utils/ │ │ ├── mod.rs │ │ ├── normalizer.rs │ │ └── split_and_apply.rs │ ├── highlighter_builder/ │ │ ├── builtins.rs │ │ ├── groups.rs │ │ └── mod.rs │ ├── io/ │ │ ├── controller/ │ │ │ └── mod.rs │ │ ├── initial_read.rs │ │ ├── mod.rs │ │ ├── presenter/ │ │ │ ├── mod.rs │ │ │ ├── pager.rs │ │ │ └── stdout.rs │ │ ├── reader/ │ │ │ ├── buffer_line_counter.rs │ │ │ ├── command.rs │ │ │ ├── file_reader.rs │ │ │ ├── mod.rs │ │ │ └── stdin.rs │ │ └── writer/ │ │ ├── mod.rs │ │ ├── stdout.rs │ │ └── temp_file.rs │ ├── lib.rs │ ├── main.rs │ └── theme/ │ ├── mappers.rs │ ├── mod.rs │ └── reader.rs ├── tests/ │ ├── files/ │ │ └── empty.log │ ├── integration_tests.rs │ └── utils.rs └── util/ ├── generate_all.sh ├── generate_man_pages.sh ├── generate_shell_completions.sh └── tspin.adoc ================================================ FILE CONTENTS ================================================ ================================================ FILE: .envrc ================================================ use flake ================================================ FILE: .gitattributes ================================================ *.1 linguist-vendored *.sh linguist-vendored *.zsh linguist-vendored *.bash linguist-vendored *.fish linguist-vendored *.adoc linguist-vendored *.nix linguist-vendored ================================================ FILE: .github/dependabot.yml ================================================ version: 2 updates: - package-ecosystem: cargo directory: / schedule: interval: weekly groups: dependencies: patterns: - "*" ================================================ FILE: .github/workflows/BuildAndTest.yml ================================================ name: Run Tests on: [ push, pull_request ] env: CARGO_TERM_COLOR: always jobs: build_and_test: name: Build and Test runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 with: fetch-depth: 1 - name: Build and test run: | cargo build --verbose cargo test --verbose cargo clippy --verbose - name: Check Cargo.lock run: | git diff --exit-code -- Cargo.lock if [ $? -ne 0 ]; then echo "Cargo.lock was modified. Please commit the changes." exit 1 fi ================================================ FILE: .github/workflows/Publish.yml ================================================ name: Publish on: push: tags: - '*' env: CARGO_TERM_COLOR: always jobs: release: name: Release runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 with: token: ${{secrets.GH_PAT}} fetch-depth: 0 - name: Build and Test run: | cargo build --verbose cargo test --verbose - name: Check Cargo.lock run: | git diff --exit-code -- Cargo.lock if [ $? -ne 0 ]; then echo "Cargo.lock was modified. Please commit the changes." exit 1 fi - name: Publish to crates.io env: CARGO_REGISTRY_TOKEN: ${{ secrets.CRATES_IO_TOKEN }} run: | cargo login $CARGO_REGISTRY_TOKEN cargo publish - name: Get release notes id: release_notes run: | TAG_NAME=${{ github.ref_name }} RELEASE_NOTES=$(awk '/'"^## $TAG_NAME"'/{flag=1;next}/##/{flag=0}flag' CHANGELOG.md) RELEASE_NOTES="${RELEASE_NOTES//'%'/'%25'}" RELEASE_NOTES="${RELEASE_NOTES//$'\n'/'%0A'}" RELEASE_NOTES="${RELEASE_NOTES//$'\r'/'%0D'}" echo "::set-output name=notes::$RELEASE_NOTES" - name: Create GitHub Release uses: ncipollo/release-action@v1 with: artifacts: "none" token: ${{ secrets.GH_PAT }} tag: ${{ github.ref }} name: ${{ github.ref_name }} body: ${{ steps.release_notes.outputs.notes }} - name: Bump minor version and update CHANGELOG run: | BRANCH_NAME="main" # Fetch the branch git fetch origin $BRANCH_NAME # Switch to the branch that triggered the workflow git checkout "$BRANCH_NAME" # Bump minor version and reset patch version in Cargo.toml VERSION_LINE=$(grep "^version" ./Cargo.toml | head -1) VERSION=$(echo $VERSION_LINE | grep -oP '\d+\.\d+\.\d+') MAJOR_VERSION=$(echo $VERSION | awk -F'.' '{print $1}') MINOR_VERSION=$(echo $VERSION | awk -F'.' '{print $2}') BUMPED_MINOR_VERSION=$((MINOR_VERSION + 1)) BUMPED_VERSION="$MAJOR_VERSION.$BUMPED_MINOR_VERSION.0" BUMPED_VERSION_LINE=$(echo $VERSION_LINE | sed "s/$VERSION/$BUMPED_VERSION/") sed -i "s/$VERSION_LINE/$BUMPED_VERSION_LINE/" ./Cargo.toml # Update cargo.lock cargo build # Add new entry to CHANGELOG.md NEW_CHANGELOG_ENTRY="## $BUMPED_VERSION\n\n" sed -i "/^# Changelog/a\\ $NEW_CHANGELOG_ENTRY\\ " CHANGELOG.md # Commit and push changes git config user.name '${{ github.actor }}' git config user.email '${{ github.actor }}@users.noreply.github.com' git add . git commit -m "Bump version and update CHANGELOG" git push ================================================ FILE: .github/workflows/ReleaseStaticBinaries.yml ================================================ name: Release static binaries on: release: types: [published] permissions: contents: write jobs: release-binaries: name: Release ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: matrix: include: - os: ubuntu-latest target: x86_64-unknown-linux-musl - os: ubuntu-latest target: aarch64-unknown-linux-musl - os: macos-latest target: x86_64-apple-darwin - os: macos-latest target: aarch64-apple-darwin - os: windows-latest target: x86_64-pc-windows-msvc steps: - uses: actions/checkout@v3 - uses: taiki-e/upload-rust-binary-action@v1 with: bin: tspin target: ${{ matrix.target }} archive: tailspin-$target token: ${{ secrets.GITHUB_TOKEN }} ================================================ FILE: .gitignore ================================================ # Generated by Cargo # will have compiled files and executables debug/ target/ # These are backup files generated by rustfmt **/*.rs.bk # MSVC Windows builds of rustc generate these, which store debugging information *.pdb .direnv/ ================================================ FILE: CHANGELOG.md ================================================ # Changelog ## Unreleased ### Added - Highlight `HEAD`, `CONNECT`, and `OPTIONS` HTTP methods by default ([#261](https://github.com/bensadeh/tailspin/pull/261), thanks @g0l4!) - Add builtin keyword highlighting for `undefined`, `NULL`, `nil`, `NIL`, `NaN`, `FALSE`, and `TRUE` - File truncation detection in follow mode - Support for parentheses in URL paths (e.g. Wikipedia-style URLs) with balanced parenthesis detection - Clear error message for `--exec` on Windows instead of a generic failure ([#232](https://github.com/bensadeh/tailspin/issues/232)) ### Fixed - Fix zombie processes when using `--exec` by properly waiting on the child process after it exits - Surface the actual error when the stream processor fails during initial read, instead of a generic channel-receive error - Gracefully handle broken pipe (e.g. `tspin | head`) instead of panicking - `--follow` not working on certain filesystems (NFS, FUSE, Docker bind mounts, etc.) by replacing `linemux` with a polling-based file reader ([#240](https://github.com/bensadeh/tailspin/issues/240)) - Crash when reading files with non-UTF-8 content ([#31](https://github.com/bensadeh/tailspin/issues/31)) - URLs wrapped in parentheses or single quotes incorrectly including surrounding delimiters in the highlight - Files with symlinks in their path could not be opened consistently ([#244](https://github.com/bensadeh/tailspin/issues/244), [#134](https://github.com/bensadeh/tailspin/issues/134)) - Quoted regions now highlight correctly while preserving inner highlights ([#171](https://github.com/bensadeh/tailspin/issues/171)) ### Crate - Differentiate between Regexp Errors and Aho-Corasick Errors - Feature-gate CLI dependencies (`tokio`, `clap`, `rayon`, etc.) so library consumers can use `default-features = false` to avoid compiling them ### Changed - Builtin keyword highlighting of `true` changed from red to green ### Performance - Use SIMD-accelerated `memchr` for newline detection in buffered reader - Cache ANSI escape sequence finders using `LazyLock` statics instead of recreating per call - Reduced string allocations across highlighters by replacing `format!()` with `write!()`, eliminating per-match allocations, and increasing pre-allocation buffers ### Build - Enable LTO, single codegen unit, and `strip = true` for release builds - Trimmed and modernized dependencies: replaced `async-trait` with native async traits, `miette` with `anyhow`, `ctrlc` with tokio signals; removed `uuid` ## 5.5.0 - Fixed a bug where the IPv6 highlighter would swallow parts of a matched, but invalid IPv6 address - Improved Unix path regex to include more valid paths - Use aho-corasick for keyword highlighting for better performance - Disabled Unicode support in builtin regexes for better performance - Updated default colors for the JSON highlighter ## 5.4.5 - Fixed a bug where newlines were filtered away when reading from stdin ## 5.4.4 - Add support for custom pager command in windows - Fixed a bug where custom pager command would incorrectly take precedence over the presenter mode ## 5.4.3 - Prioritize custom regex patterns over other highlighters - IPv4 highlighter now only highlights valid IPv4 addresses ## 5.4.2 - Fixed a bug where the `--follow` would prevent the pager from starting ## 5.4.1 - Add support for both `--print` and `--follow` flags - Fixed a bug where EOF signal would not be set causing `tailspin` to pick up newline entries after program has been run ## 5.4.0 - Use `UUID` as temp file suffix instead of number - Added colors to the help screen - Merge all the `--words-red`, `--words-green`, etc. flags into a single `--highlight [COLOR]:[WORDS]` flag - Renamed `--no-builtin-keywords` to `--disable-builtin-keywords` - Added a `--pager` flag to override the default pager in addition to the env variable - Fixed a bug where `--listen-command` would never run the pager - Renamed `--listen-command` to `--exec` ## 5.3.0 - Enabled parallel processing of lines from `stdin` - Fixed a bug where large log file would open before highlighting had been applied ## 5.2.1 - Use `stdin().is_terminal()` instead of `nix` crate to check if `stdin` is a terminal ## 5.2.0 ### CLI - Give a warning if user is trying to read from file while also piping to `stdin` - Extract End Of File (EOF) signaling logic - Fixed a bug where io errors would silently be ignored ### Crate - Better grouping of submodules - Add rustdoc to all public types - Simplify error handling by only returning the first regexp error ## 5.1.0 - Merged the `inlet_manifold` crate back into `tailspin` (`tailspin` is now the name of both the cli and the crate) - Changed the `apply` trait to return `Cow<'a, str>` instead of `String` - Removed the `start-at-end` flag ## 5.0.0 This is a relatively small update with one breaking change, namely the removal of the ability to watch folders. It's never fun to remove features from `tailspin` that users enjoy and use, however as the tool grows, it has become more important for me to focus on the core functionality of `tailspin` which is highlighting. I hope that I've made `tailspin` modular and extensible so that user are able to script and extend `tailspin` to alleviate this change. On a lighter note, I've added support for custom pagers. This means that you can now use `tailspin` with your favorite pager, for example `ov` or `minus`. ### New features: - Added support for using custom pagers ### Bugfixes: - Fixed a bug in the config parser where it would fall back on looking for the theme in `~/tailspin/theme.toml` instead of `~/.config/tailspin/theme.toml` if `XDG_CONFIG_HOME` is unset - Fixed a bug where `tailspin` would crash reading files with one line ### Under the hood: - Use `PathBuf` instead of String for file paths - Updated shell completion commands names - Added `miette` for prettier error messages - Removed unnecessary use of `Box` - Bump Rust edition to 2024 ### Breaking changes: - Removed support for watching folders ## 4.0.0 ### Overview This release contains several new feature and breaking changes. From a user perspective, the most notable change is the addition of a `JSON` highlighter. From a developer's perspective, the highlighting engine powering `tailspin` has been decoupled and extracted into a separate library called [`manifold`](https://github.com/bensadeh/manifold). `manifold` will still be used internally by `tailspin`, but it will also be available as a standalone library for other projects to use. ### New features: - Added support for handling lines which are valid `JSON`. `tailspin` will recognize if the line is a valid JSON object and highlight it accordingly. - Added date and time highlighter for formats like `DD/MM/YYYY` ### Breaking changes: - `tailspin` will now look for `theme.toml` instead of `config.toml` for the configuration file - Enabling and disabling highlight groups is now done from the command line instead of in the toml file - Removed the `border` from the style from the keyword styling. Instead, the border will be enabled implicitly by setting a background color for the keyword. - Removed date highlighting for formats like `Aug 14` and `Sun Dec 14` etc. (Can be re-enabled by adding a custom regex highlighter) - One highlighting group for both date and time ## 3.0.2 - Add completion hint so shells understand they can complete with file names (Thanks @alerque !) ## 3.0.1 - Improve parsing of very large log files ## 3.0.0 ### Overview In November 2023, `tailspin` had 240 stars and was only available to downloads on Crates.io and Debian. At the time of writing this, it sits at over 4k stars and is available on most major Linux distributions, macOS and Windows. I am glad to see that `tailspin` has been useful to so many people. For version `3.0.0` there are both new features and breaking changes. ### New features: - `UUID` highlighter now highlights numbers and letters in individual styling - Process highlighter has updated default styling and matches processes with parenthesis - Added a new highlighter 32-bit and 64-bit pointers (e.g. `0x7f8c8c0c0c0c`) - Added a `IPv6` highlighter (e.g. `2001:0db8:85a3:0000:0000:8a2e:0370:7334`) - Dates formatted as `yyyy/mm/dd` and `Day Month DD` are now highlighted ### Breaking changes: ##### Renamed `--follow-command` to `--listen-command` The `--follow-command` flag has been renamed to `--listen-command` to avoid confusion with the `--tail` flag. ##### Removed `--bucket-size` flag The `--bucket-size` flag has been removed. The bucket size was ultimately an implementation detail that should be set by the program itself. ##### Removed `shorten-to` flag option for dates and times The `shorten-to` option for dates and times has been removed. The option, set in `config.toml`, let the user shorten the date and time to a configurable token. In order to keep up with the growth of `tailspin`, I've decided to focus on the core of what `tailspin` is doing, namely highlighting. This meant that I had to remove some features that were not directly related to highlighting. Apologizes for removing this feature and to those who are using it. ## 2.4.0 - Added a regexp highlighter with support for one capture group - Changed the behavior of processing lines from `stdin` to be sequential for better stability ## 2.3.0 - `tailspin` now uses multiple threads to process lines in parallel - Added `--bucket-size` flag to configure the number of lines to process in parallel - Changed `-t,--tail` flag to `-e,--start-at-end` to avoid confusion with `tail -f` ## 2.2.0 - Added flags for setting simple highlights on the fly, for example: (`tspin --words-red popcorn,movie`) - Properly flatten and merge keywords to improve regex performance - Binaries are now added to the GitHub Release (Thanks @ecarrara and @supleed2) - Added `HEAD` HTTP method to the REST keywords (Thanks @mkogan1) - Fixed a bug where the message `Failed to open file with less: Exit code 0` would show after exiting `less` ## 2.1.0 - Fixed a bug where opening empty files would hang forever - Look for config file in `USERPROFILE` and `$HOME` instead of just `$HOME` - Added flags for disabling builtin keywords - Process names with dashes are now highlighted properly - Better error messages when `less` is not found ## 2.0.0 - Changed the binary name from `spin` to `tspin` This is a symbolic release to settle on a new binary name with fewer conflicts. Both `tailspin` and `spin` already exist as binaries in different systems and distributions. `tspin` is a short and unique name that is unlikely to conflict with other binaries. ## 1.6.1 - Fixed a bug where the `--print` flag would occasionally cause a panic ## 1.6.0 - Added new highlight group under Keywords highlighter: HTTP methods - Added option for adding a border to keywords highlighter - Disable highlights with `disable` for all highlight groups except Keywords - Simplified the configuration file format - Date and time can be configured to be hidden ## 1.5.1 - Update man pages ## 1.5.0 - 16.09.23 - Errors are now printed to `stderr` instead of `stdout` - Date highlighter now supports different highlights for date and time segment - Added Key Value highlighter - Added unix process highlighter ## 1.4.0 - 12.08.23 - Added `-t`/`--tail` flag to start reading from the end of a file. - Fixed a bug where opening a folder would include hidden files - Improved initial output when watching folders - Improved output when trying to open a file or folder which doesn't exist ## 1.3.0 - 31.07.23 - Added support for tailing folders - Changed behavior: `tailspin` will now print to `stdout` by default if used in a pipe. For example: `echo "hello null" | spin` will output a syntax highlighted "hello null" directly to `stdout` instead of via the pager less. The change will make it easier to use tailspin in scripting and piping. - The `--tail-command` flag has been renamed to `--follow-command` ## 1.2.1 - 26.07.23 - Run `less` with environment variable `LESSSECURE=1` ## 1.2.0 - 26.07.23 - Added a `--tail-command` flag to allow for continuous tailing the output of a specified command - Added a `-p` / `--print` flag to print the output directly to `stdout` - Added `man` pages - Added shell completions for `bash`, `zsh` and `fish` ## 1.1.0 - 24.07.23 **Core** - `less` now starts with the `--ignore-case` and `--RAW-CONTROL-CHARS` flags - Added support for reading from `stdin` - Added a `--version` flag ## 1.0.0 - 11.07.23 **Core** - `tailspin` has been rewritten in Rust **Theming** - All highlight groups are now customizable ## 0.1.1 - 27.02.23 **Bugfixes** - Fixed a bug that would occasionally lead to temp files not being cleaned up **Dependencies** - Bump Go from 1.19 to 1.20 - Bump bubbletea from 0.22.0 to 0.23.2 - Bump golang.org/x/text from 0.3.7 to 0.3.8 - Bump github.com/spf13/cobra from 1.5.0 to 1.6.1 ## 0.1.0 - 25.09.22 **Initial release** `tailspin` is a command line utility for viewing and `tail`-ing log files ================================================ FILE: Cargo.toml ================================================ [package] name = "tailspin" version = "6.0.0" edition = "2024" authors = ["Ben Sadeh"] description = "A log file highlighter" repository = "https://github.com/bensadeh/tailspin" keywords = ["log", "syntax-highlighting", "tail", "less"] license = "MIT" rust-version = "1.93" [[bin]] path = "src/main.rs" name = "tspin" required-features = ["cli"] [features] default = ["cli"] cli = [ "dep:anyhow", "dep:clap", "dep:clap_complete", "dep:rayon", "dep:shell-words", "dep:shellexpand", "dep:tempfile", "dep:tokio", "dep:toml", ] [profile.release] lto = "fat" codegen-units = 1 strip = true [dependencies] aho-corasick = "1.1.4" anyhow = { version = "1.0.102", optional = true } clap = { version = "4.5.60", features = ["derive", "env", "wrap_help"], optional = true } clap_complete = { version = "4.5.66", optional = true } memchr = "2.8.0" nu-ansi-term = "0.50.3" rayon = { version = "1.11.0", optional = true } regex = "1.12.2" serde = { version = "1.0.228", features = ["derive"] } serde_json = { version = "1.0.149", features = ["preserve_order"] } shell-words = { version = "1.1.1", optional = true } shellexpand = { version = "3.1.2", optional = true } tempfile = { version = "3.27.0", optional = true } thiserror = "2.0.18" tokio = { version = "1.50.0", features = ["fs", "io-std", "io-util", "macros", "process", "rt", "signal", "sync", "time"], optional = true } toml = { version = "1.0.3", optional = true } [dev-dependencies] criterion = "0.8.2" [[bench]] name = "highlighters" harness = false [[bench]] name = "no_match" harness = false ================================================ FILE: LICENCE ================================================ MIT License Copyright (c) 2022 Ben Sadeh Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: README.md ================================================

#

A log file highlighter

### Features - 🪵 View (or `tail`) any log file of any format - 🍰 No setup or config required - 🌈 Highlights numbers, dates, IP-addresses, UUIDs, URLs and more - ⚙️ All highlight groups are customizable - 🧬 Easy to integrate with other commands - 📦 Also available as a [crate](https://docs.rs/tailspin) # ### Table of Contents * [Overview](#overview) * [Usage](#usage) * [Installing](#installing) * [Highlight Groups](#highlight-groups) * [Customizing Highlight Groups](#customizing-highlight-groups) * [Working with `stdin` and `stdout`](#working-with-stdin-and-stdout) * [Using the pager `less`](#using-the-pager-less) * [Settings](#settings) *** ## Overview `tailspin` works by reading through a log file line by line, running a series of regexes against each line. The regexes recognize patterns you expect to find in a logfile, like dates, numbers, severity keywords and more. `tailspin` does not make any assumptions on the format or position of the items it wants to highlight. For this reason, it requires no configuration and the highlighting will work consistently across different logfiles. ## Usage The binary name for `tailspin` is `tspin`. ```console # Read from file and view in `less` tspin application.log # Pipe something into `tspin` and print to stdout echo "hello null" | tspin # Read from stdin and print to stdout kubectl logs [pod_name] --follow | tspin # Run the provided command and view the output in `less` tspin --exec='kubectl logs -f pod_name' ``` ## Installing
Expand to view ### Package Managers ```console # Homebrew brew install tailspin # Cargo cargo install tailspin # Archlinux pacman -S tailspin # Nix nix-shell -p tailspin # NetBSD pkgin install tailspin # FreeBSD pkg install tailspin # Windows scoop install tailspin ``` ### From Source ```console cargo install --path . ``` Binary will be placed in `~/.cargo/bin`, make sure you add the folder to your `PATH` environment variable. > [!IMPORTANT] > When building from source, make sure that you are using the latest version > of [`less`](http://greenwoodsoftware.com/less/).
## Highlight Groups ### Dates

### Keywords

### URLs

### Numbers

### IP Addresses

### Quotes

### Unix file paths

### HTTP methods

### UUIDs

### Key-value pairs

### Pointer addresses

### Unix processes

## Customizing Highlight Groups ### Overview Create a `theme.toml` in `~/.config/tailspin` to customize highlight groups. Styles have the following shape: ```toml style = { fg = "color", bg = "color", italic = false, bold = false, underline = false } ``` To edit the different highlight groups, include them in your `theme.toml` file. For example, to edit the `date` highlight group, add the following to your `theme.toml`: ```toml [date] style = { fg = "green" } ``` Expand the section below to see the default config for the highlight groups:
Default highlight groups settings ```toml [dates] date = { fg = "magenta" } time = { fg = "blue" } zone = { fg = "red" } separator = { faint = true } [[keywords]] words = ['null', 'true', 'false'] style = { fg = "red", italic = true } [[keywords]] words = ['GET'] style = { fg = "black", bg = "green" } [urls] http = { fg = "red", faint = true } https = { fg = "green", faint = true } host = { fg = "blue", faint = true } path = { fg = "blue" } query_params_key = { fg = "magenta" } query_params_value = { fg = "cyan" } symbols = { fg = "red" } [numbers] style = { fg = "cyan" } [ip_addresses] number = { fg = "blue", italic = true } letter = { fg = "magenta", italic = true } separator = { fg = "red" } [quotes] style = { fg = "yellow" } token = '"' [paths] segment = { fg = "green", italic = true } separator = { fg = "yellow" } [uuids] number = { fg = "blue", italic = true } letter = { fg = "magenta", italic = true } separator = { fg = "red" } [pointers] number = { fg = "blue", italic = true } letter = { fg = "magenta", italic = true } separator = { fg = "red" } [key_value_pairs] key = { faint = true } separator = { fg = "white" } [processes] name = { fg = "green" } separator = { fg = "red" } id = { fg = "yellow" } [json] key = { fg = "yellow" } quote_token = { fg = "yellow", faint = true } curly_bracket = { faint = true } square_bracket = { faint = true } comma = { faint = true } colon = { faint = true } ```
### Disabling Highlight Groups To individually disable or enable highlight groups, use the `--enable` and `--disable` flags: ```console # Enable only the url highlight group, disable the rest tspin application.log --enable=url # Disable the numbers highlight group, keep the rest tspin application.log --disable=numbers ``` ### Adding Keywords via theme.toml To add custom keywords, either include them in the list of keywords or add new entries: ```toml [[keywords]] words = ['MyCustomKeyword'] style = { fg = "green" } [[keywords]] words = ['null', 'true', 'false'] style = { fg = "red", italic = true } ``` ### Adding Keywords from the command line Sometimes it is more convenient to add highlight groups on the fly without having to edit a TOML. To add highlights from the command line, use the `--highlight` flag followed by a comma separated list of words to be highlighted. For example: ```console tspin --highlight=red:error,fail --highlight=green:success,ok ```

### Custom regex highlighters When you need more control over the highlighting, you can use the regex highlighter. This highlighter allows you to specify a regex and a style to be applied to the matched text. It supports one capture group `()`. When found, it will apply the style to the captured text. ```toml [[regexes]] regex = 'Started (.*)\.' style = { fg = "red" } ``` ## Working with `stdin` and `stdout` ### Default behavior with pipes By default, `tailspin` will open a file in the pager `less`. However, if you pipe something into `tailspin`, it will print the highlighted output directly to `stdout`. This is similar to running `tspin [file] --print`. To let `tailspin` highlight the logs of different commands, you can pipe the output of those commands into `tailspin` like so: ```console journalctl -f | tspin cat /var/log/syslog | tspin kubectl logs -f pod_name | tspin ``` ### Capturing the output of a command and viewing it in `less` To capture the output of a command and view it in `less`, use the `--exec` flag: ```console tspin --exec 'kubectl logs -f pod_name' ``` This will run the command `kubectl logs -f pod_name` in the background and pipe the output to `tailspin`. The output will be displayed in `less`, allowing you to navigate and search through the logs. ## Using the pager `less` ### Overview `tailspin` uses `less` as its pager to view the highlighted log files. You can get more info on `less` via the **man** command (`man less`) or by hitting the h button to access the help screen. ### Navigating Navigating within `less` uses a set of keybindings that may be familiar to users of `vim` or other `vi`-like editors. Here's a brief overview of the most useful navigation commands: - j/k: Scroll one line up / down - d/u: Scroll one half-page up / down - g/G: Go to the top / bottom of the file ### Follow mode When you run `tailspin` with the `-f` or `--follow` flag, it will scroll to the bottom and print new lines to the screen as they're added to the file. To stop following the file, interrupt with Ctrl + C. This will stop the tailing, but keep the file open, allowing you to review the existing content. To resume following the file from within `less`, press Shift + F. ### Search Use / followed by your search query. For example, `/ERROR` finds the first occurrence of **ERROR**. After the search, n finds the next instance, and N finds the previous instance. ### Filtering `less` allows filtering lines by a keyword, using & followed by the pattern. For instance, `&ERROR` shows only lines with **ERROR**. To only show lines containing either `ERROR` or `WARN`, use a regular expression: `&\(ERROR\|WARN\)`. To clear the filter, use & with no pattern. ### Custom pagers Set the `TAILSPIN_PAGER` environment variable to override the default pager. The command must include the string **[FILE]** which will be replaced with the file path internally. For example: ```console TAILSPIN_PAGER="ov -f [FILE]" tspin example-logs/example1 ``` ## Settings ```console -f, --follow Follow the contents of the file -p, --print Print the output to stdout -e, --exec='[CMD]' Run command and view the output in a pager (e.g. `tspin --exec 'kubectl logs -f pod_name'`) --config-path=[PATH] Use the configuration file from the provided path --pager=[CUSTOM_PAGER] Set a custom pager (e.g. `--pager="ov -f [FILE]"`) --highlight=[COLOR]:[WORDS] Highlight the provided comma-separated words in the specified color (e.g. `--highlight red:ERROR,WARNING`) --enable=[HIGHLIGHT_GROUP] Enable one or more highlight groups, disabling the rest (e.g. `--enable=keywords,urls`) --disable=[HIGHLIGHT_GROUP] Disable one or more highlight groups, enabling the rest (e.g. `--disable=keywords,urls`) --disable-builtin-keywords Disable the highlighting of booleans, nulls, log severities and common REST verbs ``` ================================================ FILE: benches/highlighters.rs ================================================ use criterion::{Criterion, criterion_group, criterion_main}; use std::hint::black_box; use tailspin::Highlighter; use tailspin::config::*; use tailspin::style::{Color, Style}; const LOG_LINE: &str = r#"2025-03-07T14:32:01.123Z INFO [server::handler] GET https://api.example.com/v2/users?status=active&limit=100 from 192.168.1.42/24 via fe80::1 ptr=0x7f4a2c00b340 pid=worker[1234] uuid=550e8400-e29b-41d4-a716-446655440000 key=value path=/var/log/app/server.log count=42 "request completed" null true {"status": 200}"#; fn bench_individual_highlighters(c: &mut Criterion) { let mut group = c.benchmark_group("highlighters"); group.bench_function("json", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_json_highlighter(JsonConfig::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("json_match", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_json_highlighter(JsonConfig::default()); builder.build().unwrap() }; let json_input = r#"{"status": 200, "message": "OK", "data": [1, 2, 3]}"#; b.iter(|| h.apply(black_box(json_input))); }); group.bench_function("date_time", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_date_time_highlighters(DateTimeConfig::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("url", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_url_highlighter(UrlConfig::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("ip_v4", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_ip_v4_highlighter(IpV4Config::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("ip_v6", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_ip_v6_highlighter(IpV6Config::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("uuid", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_uuid_highlighter(UuidConfig::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("pointer", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_pointer_highlighter(PointerConfig::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("unix_path", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_unix_path_highlighter(UnixPathConfig::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("unix_process", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_unix_process_highlighter(UnixProcessConfig::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("key_value", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_key_value_highlighter(KeyValueConfig::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("number", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_number_highlighter(NumberConfig::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("quote", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_quote_highlighter(QuotesConfig::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("keyword", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_keyword_highlighter(vec![ KeywordConfig { words: vec![ "ERROR".into(), "WARN".into(), "INFO".into(), "DEBUG".into(), "TRACE".into(), ], style: Style::new().fg(Color::Red), }, KeywordConfig { words: vec!["GET".into(), "POST".into(), "PUT".into(), "DELETE".into()], style: Style::new().fg(Color::Green), }, KeywordConfig { words: vec!["null".into(), "false".into(), "true".into()], style: Style::new().fg(Color::Yellow), }, ]); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.finish(); } criterion_group!(benches, bench_individual_highlighters); criterion_main!(benches); ================================================ FILE: benches/no_match.rs ================================================ use criterion::{Criterion, criterion_group, criterion_main}; use std::hint::black_box; use tailspin::Highlighter; use tailspin::config::*; use tailspin::style::{Color, Style}; const LOG_LINE: &str = r#"INFO [server::handler] next request - Loss exceeded max. threshold - status n/a - re-run completed 200 OK user=admin "all good""#; fn bench_no_match(c: &mut Criterion) { let mut group = c.benchmark_group("no_match"); group.bench_function("json", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_json_highlighter(JsonConfig::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("date_time", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_date_time_highlighters(DateTimeConfig::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("url", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_url_highlighter(UrlConfig::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("ip_v4", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_ip_v4_highlighter(IpV4Config::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("ip_v6", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_ip_v6_highlighter(IpV6Config::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("uuid", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_uuid_highlighter(UuidConfig::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("pointer", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_pointer_highlighter(PointerConfig::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("unix_path", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_unix_path_highlighter(UnixPathConfig::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("unix_process", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_unix_process_highlighter(UnixProcessConfig::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("key_value", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_key_value_highlighter(KeyValueConfig::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("number", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_number_highlighter(NumberConfig::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("quote", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_quote_highlighter(QuotesConfig::default()); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("regex", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_regex_highlighter(RegexConfig { regex: r"FOOBAR_\d+".into(), style: Style::new().fg(Color::Red), }); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.bench_function("keyword", |b| { let h = { let mut builder = Highlighter::builder(); builder.with_keyword_highlighter(vec![ KeywordConfig { words: vec![ "ERROR".into(), "WARN".into(), "INFO".into(), "DEBUG".into(), "TRACE".into(), ], style: Style::new().fg(Color::Red), }, KeywordConfig { words: vec!["GET".into(), "POST".into(), "PUT".into(), "DELETE".into()], style: Style::new().fg(Color::Green), }, KeywordConfig { words: vec!["null".into(), "false".into(), "true".into()], style: Style::new().fg(Color::Yellow), }, ]); builder.build().unwrap() }; b.iter(|| h.apply(black_box(LOG_LINE))); }); group.finish(); } criterion_group!(benches, bench_no_match); criterion_main!(benches); ================================================ FILE: completions/tspin.bash ================================================ _tspin() { local i cur prev opts cmd COMPREPLY=() if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then cur="$2" else cur="${COMP_WORDS[COMP_CWORD]}" fi prev="$3" cmd="" opts="" for i in "${COMP_WORDS[@]:0:COMP_CWORD}" do case "${cmd},${i}" in ",$1") cmd="tspin" ;; *) ;; esac done case "${cmd}" in tspin) opts="-f -p -e -h -V --follow --print --config-path --exec --highlight --enable --disable --disable-builtin-keywords --pager --generate-bash-completions --generate-fish-completions --generate-zsh-completions --help --version [FILE]" if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 fi case "${prev}" in --config-path) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --exec) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -e) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --highlight) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --enable) COMPREPLY=($(compgen -W "numbers urls pointers dates paths quotes key-value-pairs uuids ip-addresses processes json" -- "${cur}")) return 0 ;; --disable) COMPREPLY=($(compgen -W "numbers urls pointers dates paths quotes key-value-pairs uuids ip-addresses processes json" -- "${cur}")) return 0 ;; --pager) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; *) COMPREPLY=() ;; esac COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 ;; esac } if [[ "${BASH_VERSINFO[0]}" -eq 4 && "${BASH_VERSINFO[1]}" -ge 4 || "${BASH_VERSINFO[0]}" -gt 4 ]]; then complete -F _tspin -o nosort -o bashdefault -o default tspin else complete -F _tspin -o bashdefault -o default tspin fi ================================================ FILE: completions/tspin.fish ================================================ complete -c tspin -l config-path -d 'Provide a custom path to a configuration file' -r -F complete -c tspin -s e -l exec -d 'Run command and view the output in a pager' -r complete -c tspin -l highlight -d 'Highlights in the form color:word1,word2' -r complete -c tspin -l enable -d 'Enable specific highlighters' -r -f -a "numbers\t'' urls\t'' pointers\t'' dates\t'' paths\t'' quotes\t'' key-value-pairs\t'' uuids\t'' ip-addresses\t'' processes\t'' json\t''" complete -c tspin -l disable -d 'Disable specific highlighters' -r -f -a "numbers\t'' urls\t'' pointers\t'' dates\t'' paths\t'' quotes\t'' key-value-pairs\t'' uuids\t'' ip-addresses\t'' processes\t'' json\t''" complete -c tspin -l pager -d 'Override the default pager command used by tspin. (e.g. `--pager="ov -f [FILE]"`)' -r complete -c tspin -s f -l follow -d 'Follow the contents of a file' complete -c tspin -s p -l print -d 'Print the output to stdout' complete -c tspin -l disable-builtin-keywords -d 'Disable the highlighting of all builtin keyword groups (booleans, nulls, log severities and common REST verbs)' complete -c tspin -l generate-bash-completions -d 'Print bash completions to stdout' complete -c tspin -l generate-fish-completions -d 'Print fish completions to stdout' complete -c tspin -l generate-zsh-completions -d 'Print zsh completions to stdout' complete -c tspin -s h -l help -d 'Print help (see more with \'--help\')' complete -c tspin -s V -l version -d 'Print version' ================================================ FILE: completions/tspin.zsh ================================================ #compdef tspin autoload -U is-at-least _tspin() { typeset -A opt_args typeset -a _arguments_options local ret=1 if is-at-least 5.2; then _arguments_options=(-s -S -C) else _arguments_options=(-s -C) fi local context curcontext="$curcontext" state line _arguments "${_arguments_options[@]}" : \ '--config-path=[Provide a custom path to a configuration file]:CONFIG_PATH:_files' \ '-e+[Run command and view the output in a pager]:EXEC:_default' \ '--exec=[Run command and view the output in a pager]:EXEC:_default' \ '*--highlight=[Highlights in the form color\:word1,word2]:COLOR_WORD:_default' \ '*--enable=[Enable specific highlighters]:ENABLED_HIGHLIGHTERS:(numbers urls pointers dates paths quotes key-value-pairs uuids ip-addresses processes json)' \ '*--disable=[Disable specific highlighters]:DISABLED_HIGHLIGHTERS:(numbers urls pointers dates paths quotes key-value-pairs uuids ip-addresses processes json)' \ '--pager=[Override the default pager command used by tspin. (e.g. \`--pager="ov -f \[FILE\]"\`)]:PAGER:_default' \ '-f[Follow the contents of a file]' \ '--follow[Follow the contents of a file]' \ '-p[Print the output to stdout]' \ '--print[Print the output to stdout]' \ '--disable-builtin-keywords[Disable the highlighting of all builtin keyword groups (booleans, nulls, log severities and common REST verbs)]' \ '--generate-bash-completions[Print bash completions to stdout]' \ '--generate-fish-completions[Print fish completions to stdout]' \ '--generate-zsh-completions[Print zsh completions to stdout]' \ '-h[Print help (see more with '\''--help'\'')]' \ '--help[Print help (see more with '\''--help'\'')]' \ '-V[Print version]' \ '--version[Print version]' \ '::FILE -- Filepath:_files' \ && ret=0 } (( $+functions[_tspin_commands] )) || _tspin_commands() { local commands; commands=() _describe -t commands 'tspin commands' commands "$@" } if [ "$funcstack[1]" = "_tspin" ]; then _tspin "$@" else compdef _tspin tspin fi ================================================ FILE: config.toml ================================================ [pointer] number = { fg = "green" } letter = { fg = "blue" } separator = { fg = "red" } separator_token = "a" x = { fg = "red" } [[regexps]] regex = 'Started (.*)\.' style = { fg = "red" } [[regexps]] regex = 'Stopped .*' style = { fg = "magenta" } ================================================ FILE: example-logs/example1 ================================================ Aug 14 00:30:00 abc-MBP newsyslog[79597]: logfile turned over Sun Aug 14 08:23:55.927 INFO Ignoring non-dps events while not in monitoring period/ Ignoring DPS event while in monitoring period Sun Aug 14 09:50:18.749 WARN Could not set property APPLE80211_REGKEY_AWDL_MAC_ADDRESS_IN_USE to 1 Sun Aug 14 10:51:19.239 DEBUG [fcfff715-82cc-400d-88b4-56f25b5a5239:networkName:BSSID:] Sun Aug 14 10:51:19.251 ERROR Usb Host Notification Error Apple80211Set: Device power is off seqNum 16 Total 4 chg 1 en0 Sun Aug 14 10:51:19.272 INFO _handleLinkEvent: WiFi is not powered. Resetting state variables. Sun Aug 14 10:51:19.316 DEBUG Usb Host Notification Error Apple80211Set: Device power is off seqNum 17 Total 4 chg 1 en0 Sun Aug 14 10:51:22.602 DEBUG sharingd (542) is not entitled for com.apple.wifi.join_history, will not allow request Jan 02 21:14:54 innodellix (udev-worker)[1]: Started Accounts Service. Jan 02 21:14:54 innodellix systemd[1]: Started Rule-based Manager for Device Events and Files. Jan 02 21:14:54 innodellix systemd[1]: Stopped libvirtd-config.service: Deactivated successfully. Jan 02 21:14:54 innodellix systemd[1]: Finished Libvirt Virtual Machine Management Daemon - configuration. Jan 02 21:14:54 innodellix systemd[1]: suid-sgid-wrappers.service: Deactivated successfully. Jan 02 21:14:54 innodellix systemd[1]: Finished Create SUID/SGID Wrappers. Jan 02 21:14:54 innodellix systemd[1]: Started Cleanup of Snapper Snapshots. # Date and Time 07:46:34 Data backup created 10:51:19.251 Event logged 2023/10/02 11:47:39:850 Task completed 2022-09-09 11:48:34,534 Last login attempt failed 2022-09-22T07:46:34.171800155Z Event logged for debugging purposes # IP Suspicious activity detected from IP: 10.0.0.123 Connected to server at IP address: 192.168.0.1 No connection with remote host: 172.16.0.254 Request received from client IP: 2001:db8:0:0:0:ff00:42:8329 Multiple failed login attempts: 2001:db8::ff00:42:8329 # Ip v 6 Log 2001:0db8:85a3:0000:0000:8a2e:0370:7334 asdf Log 2001:db8:85a3::8a2e:370:7334 asdf Log 2001:db8:85a3::8a2e:192.0.2.33 asdf Log fe80::7a31:c1ff:fe02:bc33 asdf Log [2001:db8:85a3::8a2e:370:7334]:8080 asdf Log 2001:db8::1234:5678 asdf Log fe80::1ff:fe23:4567:890a%eth0 asdf # Pointers Error occurred at memory address 0x8c2a0aeb Received data from 0x25f4a93b, processing now Kernel module loaded at address 0xd7b3b2f446e2c21b Failed to read data from address 0x96dc1ac2a6db0b40 Copying data from 0x7f6a2c21 to 0x706a2c21 # Numbers Duration: 42 seconds High CPU usage detected: 95% Value must be between 1 and 10, received: 15 Records created: 1000 Calculation result: 3.14159 # URL http://example.com/path/to/resource?param1=value1¶m2=value2 http://api.example.com/v2/resources?search=keyword&page=1 https://api.example.org/api/v1/users?name=JohnDoe https://www.openai.com/docs/api?apikey=abc123 https://api.example.org/v1/users/123/edit?param=true&flag=false # HTTP Methods User with IP 192.168.1.105 initiated a GET request for /about/us A POST request by 192.168.1.106 to /api/create-account failed Received a PUT operation on /api/v1/users/update-profile During routine checks at 14:13:40, a PATCH request was detected Unauthorized DELETE attempt on /api/v2/data/secure by user # UUID User logged in, user ID: 5f7d1bce-81ab-4a87-af78-9a37f26c58b1 Invalid request: 9f5f25be-6b08-4aeb-a10a-023b86581b1f Database connection failed: 3e169d8f-c971-4e6b-8ff3-90ac2c912e6c Task completed successfully: d8f40210-7ef4-4d2a-b482-25e8b3a9eae8 Processing request: 2a54e369-12f7-4ec2-9dc1-685e05b9017a # Unix file paths Failed to open directory: /usr/local/bin/ File successfully created: /var/log/application.log Reading configuration file: /etc/nginx/nginx.conf File not found: ~/project/user/documents/report.pdf Processing file: ~/discovery/alfa/project/src/main.js # Keywords [INFO ] Task completed. Status: true (result: null) [WARN ] Invalid input received (isValid: false) [ERROR] Connection failed: null (isConnected: false) [TRACE] Configuration loaded: true (version: N/A, env: null) [DEBUG] Invalid request: {active: true, age: null} # Quotes Request made to sync data with our partner "Acme Corp's" servers. Cache miss detected, fetching fresh copy from "Main Server". User "Alice" logged out. All associated sessions cleared. Purchase for item "Red Bicycle" was successful. Thank you! Configuration file "PrimaryConfig" loaded. Starting operations. Processing new order for customer "JohnDoe". Stand by. # Key-value pairs ts=08:11:36 caller=module_service.go:59 module=table-manager ts=08:11:36 caller=module_service.go:59 module=ingester-querier ts=08:11:36 caller=lifecycler.go:530 msg="file path is empty" ts=2022-09-22 caller=ring.go:275 msg="ring doesn't exist" ts=2022-09-21 caller=client.go:247 msg="value is nil" # Processes kernel[0]: Page fault at address 0xabcdef mysqld[789]: Connected from 127.0.0.1 docker[654]: Container abcdefgh started successfully ssh-d[222]: Accepted publickey for root from 192.168.1.20 cron[101]: Running scheduled job ID 23456 # JSON {"timestamp": "2022-09-22T08:11:36.171800155Z", "message": "Task completed", "status": "success"} {"timestamp": "2022-09-22T08:11:36.171800155Z", "message": "Connection failed", "status": "error"} {"timestamp": "2022-09-22T08:11:36.171800155Z", "message": "Invalid input received", "status": "warning"} {"timestamp": "2022-09-22T08:11:36.171800155Z", "message": "Configuration loaded", "status": "info"} {"timestamp": "2022-09-22T08:11:36.171800155Z", "message": "Invalid request", "status": "debug"} ================================================ FILE: example-logs/example2 ================================================ 2022-09-09 11:44:54,508 [Worker-2: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read. 2022-09-09 11:47:47,193 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-parent/2.7.3/spring-boot-starter-parent-2.7.3.pom 2022-09-09 11:47:47,783 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-parent/2.7.3/spring-boot-starter-parent-2.7.3.pom 2022-09-09 11:47:47,993 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-dependencies/2.7.3/spring-boot-dependencies-2.7.3.pom 2022-09-09 11:47:48,618 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-dependencies/2.7.3/spring-boot-dependencies-2.7.3.pom 2022-09-09 11:47:49,563 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-bom/1.6.4/kotlinx-coroutines-bom-1.6.4.pom 2022-09-09 11:47:49,779 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-bom/1.6.4/kotlinx-coroutines-bom-1.6.4.pom 2022-09-09 11:47:50,041 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/io/micrometer/micrometer-bom/1.9.3/micrometer-bom-1.9.3.pom 2022-09-09 11:47:50,272 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/io/micrometer/micrometer-bom/1.9.3/micrometer-bom-1.9.3.pom 2022-09-09 11:47:50,650 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/io/rest-assured/rest-assured-bom/4.5.1/rest-assured-bom-4.5.1.pom 2022-09-09 11:47:50,881 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/io/rest-assured/rest-assured-bom/4.5.1/rest-assured-bom-4.5.1.pom 2022-09-09 11:47:51,101 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-bom/2021.2.2/spring-data-bom-2021.2.2.pom 2022-09-09 11:47:51,351 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-bom/2021.2.2/spring-data-bom-2021.2.2.pom 2022-09-09 11:47:51,598 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-bom/5.7.3/spring-security-bom-5.7.3.pom 2022-09-09 11:47:51,876 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-bom/5.7.3/spring-security-bom-5.7.3.pom 2022-09-09 11:47:53,118 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-maven-plugin/2.7.3/spring-boot-maven-plugin-2.7.3.pom 2022-09-09 11:47:53,467 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-maven-plugin/2.7.3/spring-boot-maven-plugin-2.7.3.pom 2022-09-09 11:47:53,657 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-maven-plugin/2.7.3/spring-boot-maven-plugin-2.7.3.jar 2022-09-09 11:47:54,222 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-maven-plugin/2.7.3/spring-boot-maven-plugin-2.7.3.jar 2022-09-09 11:47:57,130 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: com.desuperior:dsmeta:0.0.1-SNAPSHOT @ C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\pom.xml. 2022-09-09 11:47:57,339 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-data-jpa/2.7.3/spring-boot-starter-data-jpa-2.7.3.pom 2022-09-09 11:47:57,550 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-data-jpa/2.7.3/spring-boot-starter-data-jpa-2.7.3.pom 2022-09-09 11:47:57,755 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-aop/2.7.3/spring-boot-starter-aop-2.7.3.pom 2022-09-09 11:47:57,972 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-aop/2.7.3/spring-boot-starter-aop-2.7.3.pom 2022-09-09 11:47:58,176 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter/2.7.3/spring-boot-starter-2.7.3.pom 2022-09-09 11:47:58,422 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter/2.7.3/spring-boot-starter-2.7.3.pom 2022-09-09 11:47:58,633 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot/2.7.3/spring-boot-2.7.3.pom 2022-09-09 11:47:58,855 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot/2.7.3/spring-boot-2.7.3.pom 2022-09-09 11:47:59,161 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-autoconfigure/2.7.3/spring-boot-autoconfigure-2.7.3.pom 2022-09-09 11:47:59,372 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-autoconfigure/2.7.3/spring-boot-autoconfigure-2.7.3.pom 2022-09-09 11:47:59,574 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-logging/2.7.3/spring-boot-starter-logging-2.7.3.pom 2022-09-09 11:47:59,782 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-logging/2.7.3/spring-boot-starter-logging-2.7.3.pom 2022-09-09 11:48:00,216 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-jdbc/2.7.3/spring-boot-starter-jdbc-2.7.3.pom 2022-09-09 11:48:00,426 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-jdbc/2.7.3/spring-boot-starter-jdbc-2.7.3.pom 2022-09-09 11:48:00,641 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-jdbc/5.3.22/spring-jdbc-5.3.22.pom 2022-09-09 11:48:00,874 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-jdbc/5.3.22/spring-jdbc-5.3.22.pom 2022-09-09 11:48:01,091 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-tx/5.3.22/spring-tx-5.3.22.pom 2022-09-09 11:48:01,339 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-tx/5.3.22/spring-tx-5.3.22.pom 2022-09-09 11:48:01,612 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/hibernate/hibernate-core/5.6.10.Final/hibernate-core-5.6.10.Final.pom 2022-09-09 11:48:01,827 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/hibernate/hibernate-core/5.6.10.Final/hibernate-core-5.6.10.Final.pom 2022-09-09 11:48:02,086 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.12.13/byte-buddy-1.12.13.pom 2022-09-09 11:48:02,310 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.12.13/byte-buddy-1.12.13.pom 2022-09-09 11:48:02,538 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-parent/1.12.13/byte-buddy-parent-1.12.13.pom 2022-09-09 11:48:02,777 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-parent/1.12.13/byte-buddy-parent-1.12.13.pom 2022-09-09 11:48:03,294 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-jpa/2.7.2/spring-data-jpa-2.7.2.pom 2022-09-09 11:48:03,528 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-jpa/2.7.2/spring-data-jpa-2.7.2.pom 2022-09-09 11:48:03,741 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/data/build/spring-data-parent/2.7.2/spring-data-parent-2.7.2.pom 2022-09-09 11:48:03,967 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/data/build/spring-data-parent/2.7.2/spring-data-parent-2.7.2.pom 2022-09-09 11:48:04,170 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/data/build/spring-data-build/2.7.2/spring-data-build-2.7.2.pom 2022-09-09 11:48:04,408 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/data/build/spring-data-build/2.7.2/spring-data-build-2.7.2.pom 2022-09-09 11:48:04,619 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/testcontainers/testcontainers-bom/1.17.3/testcontainers-bom-1.17.3.pom 2022-09-09 11:48:04,863 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/testcontainers/testcontainers-bom/1.17.3/testcontainers-bom-1.17.3.pom 2022-09-09 11:48:05,086 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-bom/1.6.3/kotlinx-coroutines-bom-1.6.3.pom 2022-09-09 11:48:05,300 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-bom/1.6.3/kotlinx-coroutines-bom-1.6.3.pom 2022-09-09 11:48:05,635 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-commons/2.7.2/spring-data-commons-2.7.2.pom 2022-09-09 11:48:05,847 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-commons/2.7.2/spring-data-commons-2.7.2.pom 2022-09-09 11:48:06,048 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-orm/5.3.22/spring-orm-5.3.22.pom 2022-09-09 11:48:06,288 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-orm/5.3.22/spring-orm-5.3.22.pom 2022-09-09 11:48:06,497 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-aspects/5.3.22/spring-aspects-5.3.22.pom 2022-09-09 11:48:06,719 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-aspects/5.3.22/spring-aspects-5.3.22.pom 2022-09-09 11:48:06,924 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-security/2.7.3/spring-boot-starter-security-2.7.3.pom 2022-09-09 11:48:07,167 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-security/2.7.3/spring-boot-starter-security-2.7.3.pom 2022-09-09 11:48:07,380 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-config/5.7.3/spring-security-config-5.7.3.pom 2022-09-09 11:48:07,624 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-config/5.7.3/spring-security-config-5.7.3.pom 2022-09-09 11:48:07,834 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-core/5.7.3/spring-security-core-5.7.3.pom 2022-09-09 11:48:08,072 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-core/5.7.3/spring-security-core-5.7.3.pom 2022-09-09 11:48:08,275 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-crypto/5.7.3/spring-security-crypto-5.7.3.pom 2022-09-09 11:48:08,513 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-crypto/5.7.3/spring-security-crypto-5.7.3.pom 2022-09-09 11:48:08,712 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-web/5.7.3/spring-security-web-5.7.3.pom 2022-09-09 11:48:08,946 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-web/5.7.3/spring-security-web-5.7.3.pom 2022-09-09 11:48:09,174 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-web/2.7.3/spring-boot-starter-web-2.7.3.pom 2022-09-09 11:48:09,429 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-web/2.7.3/spring-boot-starter-web-2.7.3.pom 2022-09-09 11:48:09,641 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-json/2.7.3/spring-boot-starter-json-2.7.3.pom 2022-09-09 11:48:09,853 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-json/2.7.3/spring-boot-starter-json-2.7.3.pom 2022-09-09 11:48:10,183 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-tomcat/2.7.3/spring-boot-starter-tomcat-2.7.3.pom 2022-09-09 11:48:10,431 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-tomcat/2.7.3/spring-boot-starter-tomcat-2.7.3.pom 2022-09-09 11:48:10,720 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/h2database/h2/2.1.214/h2-2.1.214.pom 2022-09-09 11:48:10,939 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/h2database/h2/2.1.214/h2-2.1.214.pom 2022-09-09 11:48:11,145 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-test/2.7.3/spring-boot-starter-test-2.7.3.pom 2022-09-09 11:48:11,361 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-test/2.7.3/spring-boot-starter-test-2.7.3.pom 2022-09-09 11:48:11,560 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test/2.7.3/spring-boot-test-2.7.3.pom 2022-09-09 11:48:11,778 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test/2.7.3/spring-boot-test-2.7.3.pom 2022-09-09 11:48:11,973 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test-autoconfigure/2.7.3/spring-boot-test-autoconfigure-2.7.3.pom 2022-09-09 11:48:12,187 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test-autoconfigure/2.7.3/spring-boot-test-autoconfigure-2.7.3.pom 2022-09-09 11:48:12,678 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-agent/1.12.13/byte-buddy-agent-1.12.13.pom 2022-09-09 11:48:12,897 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-agent/1.12.13/byte-buddy-agent-1.12.13.pom 2022-09-09 11:48:13,235 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-test/5.7.3/spring-security-test-5.7.3.pom 2022-09-09 11:48:13,487 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-test/5.7.3/spring-security-test-5.7.3.pom 2022-09-09 11:48:13,792 [AetherRepositoryConnector-repo.maven.apache.org-0-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-aop/2.7.3/spring-boot-starter-aop-2.7.3.jar 2022-09-09 11:48:13,971 [AetherRepositoryConnector-repo.maven.apache.org-0-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-jdbc/2.7.3/spring-boot-starter-jdbc-2.7.3.jar 2022-09-09 11:48:13,989 [AetherRepositoryConnector-repo.maven.apache.org-0-4] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/hibernate/hibernate-core/5.6.10.Final/hibernate-core-5.6.10.Final.jar 2022-09-09 11:48:14,014 [AetherRepositoryConnector-repo.maven.apache.org-0-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-data-jpa/2.7.3/spring-boot-starter-data-jpa-2.7.3.jar 2022-09-09 11:48:14,210 [AetherRepositoryConnector-repo.maven.apache.org-0-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-jdbc/5.3.22/spring-jdbc-5.3.22.jar 2022-09-09 11:48:14,392 [AetherRepositoryConnector-repo.maven.apache.org-0-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-aop/2.7.3/spring-boot-starter-aop-2.7.3.jar 2022-09-09 11:48:14,595 [AetherRepositoryConnector-repo.maven.apache.org-0-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-jdbc/2.7.3/spring-boot-starter-jdbc-2.7.3.jar 2022-09-09 11:48:14,658 [AetherRepositoryConnector-repo.maven.apache.org-0-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-data-jpa/2.7.3/spring-boot-starter-data-jpa-2.7.3.jar 2022-09-09 11:48:16,378 [AetherRepositoryConnector-repo.maven.apache.org-0-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.12.13/byte-buddy-1.12.13.jar 2022-09-09 11:48:16,598 [AetherRepositoryConnector-repo.maven.apache.org-0-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-jpa/2.7.2/spring-data-jpa-2.7.2.jar 2022-09-09 11:48:16,609 [AetherRepositoryConnector-repo.maven.apache.org-0-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-commons/2.7.2/spring-data-commons-2.7.2.jar 2022-09-09 11:48:16,895 [AetherRepositoryConnector-repo.maven.apache.org-0-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-jdbc/5.3.22/spring-jdbc-5.3.22.jar 2022-09-09 11:48:17,562 [AetherRepositoryConnector-repo.maven.apache.org-0-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-orm/5.3.22/spring-orm-5.3.22.jar 2022-09-09 11:48:18,106 [AetherRepositoryConnector-repo.maven.apache.org-0-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-jpa/2.7.2/spring-data-jpa-2.7.2.jar 2022-09-09 11:48:19,250 [AetherRepositoryConnector-repo.maven.apache.org-0-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-tx/5.3.22/spring-tx-5.3.22.jar 2022-09-09 11:48:19,257 [AetherRepositoryConnector-repo.maven.apache.org-0-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-orm/5.3.22/spring-orm-5.3.22.jar 2022-09-09 11:48:21,209 [AetherRepositoryConnector-repo.maven.apache.org-0-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-aspects/5.3.22/spring-aspects-5.3.22.jar 2022-09-09 11:48:22,224 [AetherRepositoryConnector-repo.maven.apache.org-0-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-commons/2.7.2/spring-data-commons-2.7.2.jar 2022-09-09 11:48:22,551 [AetherRepositoryConnector-repo.maven.apache.org-0-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-tx/5.3.22/spring-tx-5.3.22.jar 2022-09-09 11:48:22,667 [AetherRepositoryConnector-repo.maven.apache.org-0-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-aspects/5.3.22/spring-aspects-5.3.22.jar 2022-09-09 11:48:23,193 [AetherRepositoryConnector-repo.maven.apache.org-0-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-security/2.7.3/spring-boot-starter-security-2.7.3.jar 2022-09-09 11:48:23,560 [AetherRepositoryConnector-repo.maven.apache.org-0-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter/2.7.3/spring-boot-starter-2.7.3.jar 2022-09-09 11:48:23,696 [AetherRepositoryConnector-repo.maven.apache.org-0-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot/2.7.3/spring-boot-2.7.3.jar 2022-09-09 11:48:24,154 [AetherRepositoryConnector-repo.maven.apache.org-0-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-security/2.7.3/spring-boot-starter-security-2.7.3.jar 2022-09-09 11:48:24,546 [AetherRepositoryConnector-repo.maven.apache.org-0-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter/2.7.3/spring-boot-starter-2.7.3.jar 2022-09-09 11:48:25,411 [AetherRepositoryConnector-repo.maven.apache.org-0-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-autoconfigure/2.7.3/spring-boot-autoconfigure-2.7.3.jar 2022-09-09 11:48:25,848 [AetherRepositoryConnector-repo.maven.apache.org-0-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-logging/2.7.3/spring-boot-starter-logging-2.7.3.jar 2022-09-09 11:48:26,701 [AetherRepositoryConnector-repo.maven.apache.org-0-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-logging/2.7.3/spring-boot-starter-logging-2.7.3.jar 2022-09-09 11:48:27,321 [AetherRepositoryConnector-repo.maven.apache.org-0-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.12.13/byte-buddy-1.12.13.jar 2022-09-09 11:48:27,718 [AetherRepositoryConnector-repo.maven.apache.org-0-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-config/5.7.3/spring-security-config-5.7.3.jar 2022-09-09 11:48:28,118 [AetherRepositoryConnector-repo.maven.apache.org-0-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-web/5.7.3/spring-security-web-5.7.3.jar 2022-09-09 11:48:28,348 [AetherRepositoryConnector-repo.maven.apache.org-0-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot/2.7.3/spring-boot-2.7.3.jar 2022-09-09 11:48:29,426 [AetherRepositoryConnector-repo.maven.apache.org-0-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-web/2.7.3/spring-boot-starter-web-2.7.3.jar 2022-09-09 11:48:30,605 [AetherRepositoryConnector-repo.maven.apache.org-0-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-web/2.7.3/spring-boot-starter-web-2.7.3.jar 2022-09-09 11:48:30,725 [AetherRepositoryConnector-repo.maven.apache.org-0-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-autoconfigure/2.7.3/spring-boot-autoconfigure-2.7.3.jar 2022-09-09 11:48:31,812 [AetherRepositoryConnector-repo.maven.apache.org-0-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-web/5.7.3/spring-security-web-5.7.3.jar 2022-09-09 11:48:32,061 [AetherRepositoryConnector-repo.maven.apache.org-0-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-json/2.7.3/spring-boot-starter-json-2.7.3.jar 2022-09-09 11:48:32,078 [AetherRepositoryConnector-repo.maven.apache.org-0-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-tomcat/2.7.3/spring-boot-starter-tomcat-2.7.3.jar 2022-09-09 11:48:32,078 [AetherRepositoryConnector-repo.maven.apache.org-0-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/h2database/h2/2.1.214/h2-2.1.214.jar 2022-09-09 11:48:32,665 [AetherRepositoryConnector-repo.maven.apache.org-0-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-config/5.7.3/spring-security-config-5.7.3.jar 2022-09-09 11:48:32,774 [AetherRepositoryConnector-repo.maven.apache.org-0-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-json/2.7.3/spring-boot-starter-json-2.7.3.jar 2022-09-09 11:48:32,799 [AetherRepositoryConnector-repo.maven.apache.org-0-4] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/hibernate/hibernate-core/5.6.10.Final/hibernate-core-5.6.10.Final.jar 2022-09-09 11:48:32,805 [AetherRepositoryConnector-repo.maven.apache.org-0-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-tomcat/2.7.3/spring-boot-starter-tomcat-2.7.3.jar 2022-09-09 11:48:33,228 [AetherRepositoryConnector-repo.maven.apache.org-0-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-test/2.7.3/spring-boot-starter-test-2.7.3.jar 2022-09-09 11:48:33,277 [AetherRepositoryConnector-repo.maven.apache.org-0-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test/2.7.3/spring-boot-test-2.7.3.jar 2022-09-09 11:48:33,318 [AetherRepositoryConnector-repo.maven.apache.org-0-4] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test-autoconfigure/2.7.3/spring-boot-test-autoconfigure-2.7.3.jar 2022-09-09 11:48:33,318 [AetherRepositoryConnector-repo.maven.apache.org-0-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-agent/1.12.13/byte-buddy-agent-1.12.13.jar 2022-09-09 11:48:33,784 [AetherRepositoryConnector-repo.maven.apache.org-0-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-test/2.7.3/spring-boot-starter-test-2.7.3.jar 2022-09-09 11:48:33,964 [AetherRepositoryConnector-repo.maven.apache.org-0-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test/2.7.3/spring-boot-test-2.7.3.jar 2022-09-09 11:48:34,128 [AetherRepositoryConnector-repo.maven.apache.org-0-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-test/5.7.3/spring-security-test-5.7.3.jar 2022-09-09 11:48:34,152 [AetherRepositoryConnector-repo.maven.apache.org-0-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/h2database/h2/2.1.214/h2-2.1.214.jar 2022-09-09 11:48:34,153 [AetherRepositoryConnector-repo.maven.apache.org-0-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-agent/1.12.13/byte-buddy-agent-1.12.13.jar 2022-09-09 11:48:34,162 [AetherRepositoryConnector-repo.maven.apache.org-0-4] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test-autoconfigure/2.7.3/spring-boot-test-autoconfigure-2.7.3.jar 2022-09-09 11:48:34,312 [AetherRepositoryConnector-repo.maven.apache.org-0-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-core/5.7.3/spring-security-core-5.7.3.jar 2022-09-09 11:48:34,473 [AetherRepositoryConnector-repo.maven.apache.org-0-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-crypto/5.7.3/spring-security-crypto-5.7.3.jar 2022-09-09 11:48:34,534 [AetherRepositoryConnector-repo.maven.apache.org-0-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-test/5.7.3/spring-security-test-5.7.3.jar 2022-09-09 11:48:34,702 [AetherRepositoryConnector-repo.maven.apache.org-0-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-core/5.7.3/spring-security-core-5.7.3.jar 2022-09-09 11:48:34,893 [AetherRepositoryConnector-repo.maven.apache.org-0-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-crypto/5.7.3/spring-security-crypto-5.7.3.jar 2022-09-09 11:48:35,096 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: com.desuperior:dsmeta:0.0.1-SNAPSHOT @ C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\pom.xml. 2022-09-09 11:48:39,751 [Worker-3: Importing Maven projects] INFO o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /backend/src/main/java 2022-09-09 11:48:39,752 [Worker-3: Importing Maven projects] INFO o.e.m.j.i.AbstractJavaProjectConfigurator - Adding resource folder /backend/src/main/resources 2022-09-09 11:48:39,759 [Worker-3: Importing Maven projects] INFO o.e.m.j.i.AbstractJavaProjectConfigurator - Adding resource folder /backend/src/main/resources 2022-09-09 11:48:39,768 [Worker-3: Importing Maven projects] INFO o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /backend/src/test/java 2022-09-09 11:48:41,569 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-data-jpa/2.7.3/spring-boot-starter-data-jpa-2.7.3-sources.jar 2022-09-09 11:48:41,963 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-data-jpa/2.7.3/spring-boot-starter-data-jpa-2.7.3-sources.jar 2022-09-09 11:48:41,973 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-starter-data-jpa:2.7.3 2022-09-09 11:48:42,763 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-aop/2.7.3/spring-boot-starter-aop-2.7.3-sources.jar 2022-09-09 11:48:43,152 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-aop/2.7.3/spring-boot-starter-aop-2.7.3-sources.jar 2022-09-09 11:48:43,156 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-starter-aop:2.7.3 2022-09-09 11:48:43,920 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-jdbc/2.7.3/spring-boot-starter-jdbc-2.7.3-sources.jar 2022-09-09 11:48:44,300 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-jdbc/2.7.3/spring-boot-starter-jdbc-2.7.3-sources.jar 2022-09-09 11:48:44,312 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-starter-jdbc:2.7.3 2022-09-09 11:48:45,022 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-jdbc/5.3.22/spring-jdbc-5.3.22-sources.jar 2022-09-09 11:48:45,315 [Worker-3: Importing Maven projects] INFO o.e.m.c.i.p.ProjectConfigurationManager - Imported and configured 1 project(s) in 60 sec 2022-09-09 11:48:46,029 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-jdbc/5.3.22/spring-jdbc-5.3.22-sources.jar 2022-09-09 11:48:46,045 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-jdbc:5.3.22 2022-09-09 11:48:46,667 [Worker-12: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-09 11:48:46,667 [Worker-12: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-09 11:48:46,673 [Worker-12: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-09 11:48:46,696 [Worker-12: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource 2022-09-09 11:48:46,701 [Worker-12: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-09 11:48:46,701 [Worker-12: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-09 11:48:46,701 [Worker-12: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-09 11:48:46,815 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/hibernate/hibernate-core/5.6.10.Final/hibernate-core-5.6.10.Final-sources.jar 2022-09-09 11:48:52,452 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/hibernate/hibernate-core/5.6.10.Final/hibernate-core-5.6.10.Final-sources.jar 2022-09-09 11:48:52,461 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.hibernate:hibernate-core:5.6.10.Final 2022-09-09 11:48:53,230 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.12.13/byte-buddy-1.12.13-sources.jar 2022-09-09 11:48:55,694 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.12.13/byte-buddy-1.12.13-sources.jar 2022-09-09 11:48:55,715 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for net.bytebuddy:byte-buddy:1.12.13 2022-09-09 11:48:56,481 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-jpa/2.7.2/spring-data-jpa-2.7.2-sources.jar 2022-09-09 11:48:57,363 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-jpa/2.7.2/spring-data-jpa-2.7.2-sources.jar 2022-09-09 11:48:57,374 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.data:spring-data-jpa:2.7.2 2022-09-09 11:48:58,089 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-commons/2.7.2/spring-data-commons-2.7.2-sources.jar 2022-09-09 11:48:59,639 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-commons/2.7.2/spring-data-commons-2.7.2-sources.jar 2022-09-09 11:48:59,663 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.data:spring-data-commons:2.7.2 2022-09-09 11:49:00,486 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-orm/5.3.22/spring-orm-5.3.22-sources.jar 2022-09-09 11:49:01,318 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-orm/5.3.22/spring-orm-5.3.22-sources.jar 2022-09-09 11:49:01,323 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-orm:5.3.22 2022-09-09 11:49:02,134 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-context/5.3.22/spring-context-5.3.22-sources.jar 2022-09-09 11:49:05,545 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-context/5.3.22/spring-context-5.3.22-sources.jar 2022-09-09 11:49:05,558 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-context:5.3.22 2022-09-09 11:49:06,316 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-tx/5.3.22/spring-tx-5.3.22-sources.jar 2022-09-09 11:49:07,332 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-tx/5.3.22/spring-tx-5.3.22-sources.jar 2022-09-09 11:49:07,343 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-tx:5.3.22 2022-09-09 11:49:08,055 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-beans/5.3.22/spring-beans-5.3.22-sources.jar 2022-09-09 11:49:09,246 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-beans/5.3.22/spring-beans-5.3.22-sources.jar 2022-09-09 11:49:09,261 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-beans:5.3.22 2022-09-09 11:49:10,033 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-aspects/5.3.22/spring-aspects-5.3.22-sources.jar 2022-09-09 11:49:10,446 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-aspects/5.3.22/spring-aspects-5.3.22-sources.jar 2022-09-09 11:49:10,449 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-aspects:5.3.22 2022-09-09 11:49:11,267 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-security/2.7.3/spring-boot-starter-security-2.7.3-sources.jar 2022-09-09 11:49:11,675 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-security/2.7.3/spring-boot-starter-security-2.7.3-sources.jar 2022-09-09 11:49:11,697 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-starter-security:2.7.3 2022-09-09 11:49:12,586 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter/2.7.3/spring-boot-starter-2.7.3-sources.jar 2022-09-09 11:49:13,018 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter/2.7.3/spring-boot-starter-2.7.3-sources.jar 2022-09-09 11:49:13,022 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-starter:2.7.3 2022-09-09 11:49:13,935 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot/2.7.3/spring-boot-2.7.3-sources.jar 2022-09-09 11:49:16,496 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot/2.7.3/spring-boot-2.7.3-sources.jar 2022-09-09 11:49:16,504 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot:2.7.3 2022-09-09 11:49:17,305 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-autoconfigure/2.7.3/spring-boot-autoconfigure-2.7.3-sources.jar 2022-09-09 11:49:18,911 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-autoconfigure/2.7.3/spring-boot-autoconfigure-2.7.3-sources.jar 2022-09-09 11:49:18,921 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-autoconfigure:2.7.3 2022-09-09 11:49:19,706 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-logging/2.7.3/spring-boot-starter-logging-2.7.3-sources.jar 2022-09-09 11:49:20,098 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-logging/2.7.3/spring-boot-starter-logging-2.7.3-sources.jar 2022-09-09 11:49:20,105 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-starter-logging:2.7.3 2022-09-09 11:49:20,822 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-aop/5.3.22/spring-aop-5.3.22-sources.jar 2022-09-09 11:49:21,863 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-aop/5.3.22/spring-aop-5.3.22-sources.jar 2022-09-09 11:49:21,890 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-aop:5.3.22 2022-09-09 11:49:22,648 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-config/5.7.3/spring-security-config-5.7.3-sources.jar 2022-09-09 11:49:24,151 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-config/5.7.3/spring-security-config-5.7.3-sources.jar 2022-09-09 11:49:24,156 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.security:spring-security-config:5.7.3 2022-09-09 11:49:24,943 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-web/5.7.3/spring-security-web-5.7.3-sources.jar 2022-09-09 11:49:26,236 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-web/5.7.3/spring-security-web-5.7.3-sources.jar 2022-09-09 11:49:26,257 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.security:spring-security-web:5.7.3 2022-09-09 11:49:27,047 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-expression/5.3.22/spring-expression-5.3.22-sources.jar 2022-09-09 11:49:27,929 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-expression/5.3.22/spring-expression-5.3.22-sources.jar 2022-09-09 11:49:27,940 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-expression:5.3.22 2022-09-09 11:49:28,708 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-web/2.7.3/spring-boot-starter-web-2.7.3-sources.jar 2022-09-09 11:49:29,103 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-web/2.7.3/spring-boot-starter-web-2.7.3-sources.jar 2022-09-09 11:49:29,118 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-starter-web:2.7.3 2022-09-09 11:49:29,852 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-json/2.7.3/spring-boot-starter-json-2.7.3-sources.jar 2022-09-09 11:49:30,211 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-json/2.7.3/spring-boot-starter-json-2.7.3-sources.jar 2022-09-09 11:49:30,219 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-starter-json:2.7.3 2022-09-09 11:49:30,950 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-tomcat/2.7.3/spring-boot-starter-tomcat-2.7.3-sources.jar 2022-09-09 11:49:31,331 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-tomcat/2.7.3/spring-boot-starter-tomcat-2.7.3-sources.jar 2022-09-09 11:49:31,347 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-starter-tomcat:2.7.3 2022-09-09 11:49:32,118 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-core/9.0.65/tomcat-embed-core-9.0.65-sources.jar 2022-09-09 11:49:37,923 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-core/9.0.65/tomcat-embed-core-9.0.65-sources.jar 2022-09-09 11:49:37,947 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.apache.tomcat.embed:tomcat-embed-core:9.0.65 2022-09-09 11:49:38,908 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-el/9.0.65/tomcat-embed-el-9.0.65-sources.jar 2022-09-09 11:49:40,073 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-el/9.0.65/tomcat-embed-el-9.0.65-sources.jar 2022-09-09 11:49:40,089 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.apache.tomcat.embed:tomcat-embed-el:9.0.65 2022-09-09 11:49:40,842 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.65/tomcat-embed-websocket-9.0.65-sources.jar 2022-09-09 11:49:41,880 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.65/tomcat-embed-websocket-9.0.65-sources.jar 2022-09-09 11:49:41,904 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.apache.tomcat.embed:tomcat-embed-websocket:9.0.65 2022-09-09 11:49:42,734 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-web/5.3.22/spring-web-5.3.22-sources.jar 2022-09-09 11:49:45,234 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-web/5.3.22/spring-web-5.3.22-sources.jar 2022-09-09 11:49:45,242 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-web:5.3.22 2022-09-09 11:49:45,926 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-webmvc/5.3.22/spring-webmvc-5.3.22-sources.jar 2022-09-09 11:49:47,978 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-webmvc/5.3.22/spring-webmvc-5.3.22-sources.jar 2022-09-09 11:49:47,985 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-webmvc:5.3.22 2022-09-09 11:49:48,917 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/h2database/h2/2.1.214/h2-2.1.214-sources.jar 2022-09-09 11:49:54,501 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/h2database/h2/2.1.214/h2-2.1.214-sources.jar 2022-09-09 11:49:54,509 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for com.h2database:h2:2.1.214 2022-09-09 11:49:55,501 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-test/2.7.3/spring-boot-starter-test-2.7.3-sources.jar 2022-09-09 11:49:56,076 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-test/2.7.3/spring-boot-starter-test-2.7.3-sources.jar 2022-09-09 11:49:56,100 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-starter-test:2.7.3 2022-09-09 11:49:56,988 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test/2.7.3/spring-boot-test-2.7.3-sources.jar 2022-09-09 11:49:57,740 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test/2.7.3/spring-boot-test-2.7.3-sources.jar 2022-09-09 11:49:57,748 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-test:2.7.3 2022-09-09 11:49:58,552 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test-autoconfigure/2.7.3/spring-boot-test-autoconfigure-2.7.3-sources.jar 2022-09-09 11:49:59,566 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test-autoconfigure/2.7.3/spring-boot-test-autoconfigure-2.7.3-sources.jar 2022-09-09 11:49:59,590 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-test-autoconfigure:2.7.3 2022-09-09 11:50:00,476 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-agent/1.12.13/byte-buddy-agent-1.12.13-sources.jar 2022-09-09 11:50:01,596 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-agent/1.12.13/byte-buddy-agent-1.12.13-sources.jar 2022-09-09 11:50:01,605 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for net.bytebuddy:byte-buddy-agent:1.12.13 2022-09-09 11:50:02,466 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/skyscreamer/jsonassert/1.5.1/jsonassert-1.5.1-sources.jar 2022-09-09 11:50:02,883 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/skyscreamer/jsonassert/1.5.1/jsonassert-1.5.1-sources.jar 2022-09-09 11:50:02,896 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.skyscreamer:jsonassert:1.5.1 2022-09-09 11:50:03,740 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-core/5.3.22/spring-core-5.3.22-sources.jar 2022-09-09 11:50:05,908 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-core/5.3.22/spring-core-5.3.22-sources.jar 2022-09-09 11:50:05,922 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-core:5.3.22 2022-09-09 11:50:06,937 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-jcl/5.3.22/spring-jcl-5.3.22-sources.jar 2022-09-09 11:50:07,328 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-jcl/5.3.22/spring-jcl-5.3.22-sources.jar 2022-09-09 11:50:07,331 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-jcl:5.3.22 2022-09-09 11:50:08,053 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-test/5.3.22/spring-test-5.3.22-sources.jar 2022-09-09 11:50:09,182 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-test/5.3.22/spring-test-5.3.22-sources.jar 2022-09-09 11:50:09,195 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-test:5.3.22 2022-09-09 11:50:10,006 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-test/5.7.3/spring-security-test-5.7.3-sources.jar 2022-09-09 11:50:10,479 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-test/5.7.3/spring-security-test-5.7.3-sources.jar 2022-09-09 11:50:10,503 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.security:spring-security-test:5.7.3 2022-09-09 11:50:11,345 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-core/5.7.3/spring-security-core-5.7.3-sources.jar 2022-09-09 11:50:12,728 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-core/5.7.3/spring-security-core-5.7.3-sources.jar 2022-09-09 11:50:12,736 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.security:spring-security-core:5.7.3 2022-09-09 11:50:13,629 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-crypto/5.7.3/spring-security-crypto-5.7.3-sources.jar 2022-09-09 11:50:14,166 [Worker-11: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-crypto/5.7.3/spring-security-crypto-5.7.3-sources.jar 2022-09-09 11:50:14,179 [Worker-11: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.security:spring-security-crypto:5.7.3 2022-09-09 11:50:14,580 [Worker-3: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-09 11:50:14,580 [Worker-3: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-09 11:50:14,582 [Worker-3: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource 2022-09-09 11:50:14,583 [Worker-3: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource 2022-09-09 11:50:14,585 [Worker-3: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-09 11:50:14,585 [Worker-3: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-09 11:50:14,585 [Worker-3: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-09 11:52:27,499 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-dependencies/2.7.1/spring-boot-dependencies-2.7.1.pom 2022-09-09 11:52:28,131 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-dependencies/2.7.1/spring-boot-dependencies-2.7.1.pom 2022-09-09 11:52:28,426 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/io/micrometer/micrometer-bom/1.9.1/micrometer-bom-1.9.1.pom 2022-09-09 11:52:28,657 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/io/micrometer/micrometer-bom/1.9.1/micrometer-bom-1.9.1.pom 2022-09-09 11:52:28,871 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/io/netty/netty-bom/4.1.78.Final/netty-bom-4.1.78.Final.pom 2022-09-09 11:52:29,114 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/io/netty/netty-bom/4.1.78.Final/netty-bom-4.1.78.Final.pom 2022-09-09 11:52:29,343 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/io/projectreactor/reactor-bom/2020.0.20/reactor-bom-2020.0.20.pom 2022-09-09 11:52:29,618 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/io/projectreactor/reactor-bom/2020.0.20/reactor-bom-2020.0.20.pom 2022-09-09 11:52:29,846 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-bom/2021.2.1/spring-data-bom-2021.2.1.pom 2022-09-09 11:52:30,112 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-bom/2021.2.1/spring-data-bom-2021.2.1.pom 2022-09-09 11:52:30,319 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-framework-bom/5.3.21/spring-framework-bom-5.3.21.pom 2022-09-09 11:52:30,565 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-framework-bom/5.3.21/spring-framework-bom-5.3.21.pom 2022-09-09 11:52:30,779 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/integration/spring-integration-bom/5.5.13/spring-integration-bom-5.5.13.pom 2022-09-09 11:52:31,044 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/integration/spring-integration-bom/5.5.13/spring-integration-bom-5.5.13.pom 2022-09-09 11:52:31,259 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-bom/5.7.2/spring-security-bom-5.7.2.pom 2022-09-09 11:52:31,511 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-bom/5.7.2/spring-security-bom-5.7.2.pom 2022-09-09 11:52:32,373 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-maven-plugin/2.7.1/spring-boot-maven-plugin-2.7.1.pom 2022-09-09 11:52:32,765 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-maven-plugin/2.7.1/spring-boot-maven-plugin-2.7.1.pom 2022-09-09 11:52:32,963 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-maven-plugin/2.7.1/spring-boot-maven-plugin-2.7.1.jar 2022-09-09 11:52:33,571 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-maven-plugin/2.7.1/spring-boot-maven-plugin-2.7.1.jar 2022-09-09 11:52:33,718 [Worker-11: Building] INFO o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: com.desuperior:dsmeta:0.0.1-SNAPSHOT @ C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\pom.xml. 2022-09-09 11:52:33,917 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-data-jpa/2.7.1/spring-boot-starter-data-jpa-2.7.1.pom 2022-09-09 11:52:34,194 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-data-jpa/2.7.1/spring-boot-starter-data-jpa-2.7.1.pom 2022-09-09 11:52:34,422 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-aop/2.7.1/spring-boot-starter-aop-2.7.1.pom 2022-09-09 11:52:34,661 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-aop/2.7.1/spring-boot-starter-aop-2.7.1.pom 2022-09-09 11:52:34,885 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter/2.7.1/spring-boot-starter-2.7.1.pom 2022-09-09 11:52:35,150 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter/2.7.1/spring-boot-starter-2.7.1.pom 2022-09-09 11:52:35,370 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot/2.7.1/spring-boot-2.7.1.pom 2022-09-09 11:52:35,623 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot/2.7.1/spring-boot-2.7.1.pom 2022-09-09 11:52:35,842 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-core/5.3.21/spring-core-5.3.21.pom 2022-09-09 11:52:36,114 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-core/5.3.21/spring-core-5.3.21.pom 2022-09-09 11:52:36,324 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-jcl/5.3.21/spring-jcl-5.3.21.pom 2022-09-09 11:52:36,574 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-jcl/5.3.21/spring-jcl-5.3.21.pom 2022-09-09 11:52:36,785 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-context/5.3.21/spring-context-5.3.21.pom 2022-09-09 11:52:37,049 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-context/5.3.21/spring-context-5.3.21.pom 2022-09-09 11:52:37,263 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-aop/5.3.21/spring-aop-5.3.21.pom 2022-09-09 11:52:37,518 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-aop/5.3.21/spring-aop-5.3.21.pom 2022-09-09 11:52:37,736 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-beans/5.3.21/spring-beans-5.3.21.pom 2022-09-09 11:52:38,003 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-beans/5.3.21/spring-beans-5.3.21.pom 2022-09-09 11:52:38,219 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-expression/5.3.21/spring-expression-5.3.21.pom 2022-09-09 11:52:38,475 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-expression/5.3.21/spring-expression-5.3.21.pom 2022-09-09 11:52:38,692 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-autoconfigure/2.7.1/spring-boot-autoconfigure-2.7.1.pom 2022-09-09 11:52:38,962 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-autoconfigure/2.7.1/spring-boot-autoconfigure-2.7.1.pom 2022-09-09 11:52:39,178 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-logging/2.7.1/spring-boot-starter-logging-2.7.1.pom 2022-09-09 11:52:39,438 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-logging/2.7.1/spring-boot-starter-logging-2.7.1.pom 2022-09-09 11:52:39,672 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-jdbc/2.7.1/spring-boot-starter-jdbc-2.7.1.pom 2022-09-09 11:52:39,932 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-jdbc/2.7.1/spring-boot-starter-jdbc-2.7.1.pom 2022-09-09 11:52:40,143 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-jdbc/5.3.21/spring-jdbc-5.3.21.pom 2022-09-09 11:52:40,392 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-jdbc/5.3.21/spring-jdbc-5.3.21.pom 2022-09-09 11:52:40,612 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-tx/5.3.21/spring-tx-5.3.21.pom 2022-09-09 11:52:40,877 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-tx/5.3.21/spring-tx-5.3.21.pom 2022-09-09 11:52:41,136 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.12.11/byte-buddy-1.12.11.pom 2022-09-09 11:52:41,369 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.12.11/byte-buddy-1.12.11.pom 2022-09-09 11:52:41,577 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-parent/1.12.11/byte-buddy-parent-1.12.11.pom 2022-09-09 11:52:41,834 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-parent/1.12.11/byte-buddy-parent-1.12.11.pom 2022-09-09 11:52:42,056 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-jpa/2.7.1/spring-data-jpa-2.7.1.pom 2022-09-09 11:52:42,304 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-jpa/2.7.1/spring-data-jpa-2.7.1.pom 2022-09-09 11:52:42,518 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/data/build/spring-data-parent/2.7.1/spring-data-parent-2.7.1.pom 2022-09-09 11:52:42,790 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/data/build/spring-data-parent/2.7.1/spring-data-parent-2.7.1.pom 2022-09-09 11:52:42,999 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/data/build/spring-data-build/2.7.1/spring-data-build-2.7.1.pom 2022-09-09 11:52:43,240 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/data/build/spring-data-build/2.7.1/spring-data-build-2.7.1.pom 2022-09-09 11:52:43,457 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/testcontainers/testcontainers-bom/1.17.2/testcontainers-bom-1.17.2.pom 2022-09-09 11:52:43,712 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/testcontainers/testcontainers-bom/1.17.2/testcontainers-bom-1.17.2.pom 2022-09-09 11:52:43,928 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-bom/1.6.2/kotlinx-coroutines-bom-1.6.2.pom 2022-09-09 11:52:44,146 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-bom/1.6.2/kotlinx-coroutines-bom-1.6.2.pom 2022-09-09 11:52:44,345 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-commons/2.7.1/spring-data-commons-2.7.1.pom 2022-09-09 11:52:44,569 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-commons/2.7.1/spring-data-commons-2.7.1.pom 2022-09-09 11:52:44,775 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-orm/5.3.21/spring-orm-5.3.21.pom 2022-09-09 11:52:45,005 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-orm/5.3.21/spring-orm-5.3.21.pom 2022-09-09 11:52:45,207 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-aspects/5.3.21/spring-aspects-5.3.21.pom 2022-09-09 11:52:45,429 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-aspects/5.3.21/spring-aspects-5.3.21.pom 2022-09-09 11:52:45,628 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-security/2.7.1/spring-boot-starter-security-2.7.1.pom 2022-09-09 11:52:45,857 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-security/2.7.1/spring-boot-starter-security-2.7.1.pom 2022-09-09 11:52:46,076 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-config/5.7.2/spring-security-config-5.7.2.pom 2022-09-09 11:52:46,338 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-config/5.7.2/spring-security-config-5.7.2.pom 2022-09-09 11:52:46,554 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-core/5.7.2/spring-security-core-5.7.2.pom 2022-09-09 11:52:46,821 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-core/5.7.2/spring-security-core-5.7.2.pom 2022-09-09 11:52:47,040 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-crypto/5.7.2/spring-security-crypto-5.7.2.pom 2022-09-09 11:52:47,307 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-crypto/5.7.2/spring-security-crypto-5.7.2.pom 2022-09-09 11:52:47,510 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-web/5.7.2/spring-security-web-5.7.2.pom 2022-09-09 11:52:47,736 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-web/5.7.2/spring-security-web-5.7.2.pom 2022-09-09 11:52:47,949 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-web/5.3.21/spring-web-5.3.21.pom 2022-09-09 11:52:48,197 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-web/5.3.21/spring-web-5.3.21.pom 2022-09-09 11:52:48,416 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-web/2.7.1/spring-boot-starter-web-2.7.1.pom 2022-09-09 11:52:48,667 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-web/2.7.1/spring-boot-starter-web-2.7.1.pom 2022-09-09 11:52:48,871 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-json/2.7.1/spring-boot-starter-json-2.7.1.pom 2022-09-09 11:52:49,127 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-json/2.7.1/spring-boot-starter-json-2.7.1.pom 2022-09-09 11:52:49,355 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-tomcat/2.7.1/spring-boot-starter-tomcat-2.7.1.pom 2022-09-09 11:52:49,620 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-tomcat/2.7.1/spring-boot-starter-tomcat-2.7.1.pom 2022-09-09 11:52:49,827 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-core/9.0.64/tomcat-embed-core-9.0.64.pom 2022-09-09 11:52:50,085 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-core/9.0.64/tomcat-embed-core-9.0.64.pom 2022-09-09 11:52:50,290 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-el/9.0.64/tomcat-embed-el-9.0.64.pom 2022-09-09 11:52:50,541 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-el/9.0.64/tomcat-embed-el-9.0.64.pom 2022-09-09 11:52:50,746 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.64/tomcat-embed-websocket-9.0.64.pom 2022-09-09 11:52:51,048 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.64/tomcat-embed-websocket-9.0.64.pom 2022-09-09 11:52:51,249 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-webmvc/5.3.21/spring-webmvc-5.3.21.pom 2022-09-09 11:52:51,500 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-webmvc/5.3.21/spring-webmvc-5.3.21.pom 2022-09-09 11:52:51,721 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-test/2.7.1/spring-boot-starter-test-2.7.1.pom 2022-09-09 11:52:51,970 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-test/2.7.1/spring-boot-starter-test-2.7.1.pom 2022-09-09 11:52:52,182 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test/2.7.1/spring-boot-test-2.7.1.pom 2022-09-09 11:52:52,455 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test/2.7.1/spring-boot-test-2.7.1.pom 2022-09-09 11:52:52,677 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test-autoconfigure/2.7.1/spring-boot-test-autoconfigure-2.7.1.pom 2022-09-09 11:52:52,937 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test-autoconfigure/2.7.1/spring-boot-test-autoconfigure-2.7.1.pom 2022-09-09 11:52:53,172 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-agent/1.12.11/byte-buddy-agent-1.12.11.pom 2022-09-09 11:52:53,423 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-agent/1.12.11/byte-buddy-agent-1.12.11.pom 2022-09-09 11:52:53,672 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-test/5.3.21/spring-test-5.3.21.pom 2022-09-09 11:52:53,924 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-test/5.3.21/spring-test-5.3.21.pom 2022-09-09 11:52:54,155 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-test/5.7.2/spring-security-test-5.7.2.pom 2022-09-09 11:52:54,412 [Worker-11: Building] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-test/5.7.2/spring-security-test-5.7.2.pom 2022-09-09 11:52:54,648 [AetherRepositoryConnector-repo.maven.apache.org-1-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-aop/2.7.1/spring-boot-starter-aop-2.7.1.jar 2022-09-09 11:52:54,837 [AetherRepositoryConnector-repo.maven.apache.org-1-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-data-jpa/2.7.1/spring-boot-starter-data-jpa-2.7.1.jar 2022-09-09 11:52:54,840 [AetherRepositoryConnector-repo.maven.apache.org-1-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-jdbc/2.7.1/spring-boot-starter-jdbc-2.7.1.jar 2022-09-09 11:52:54,853 [AetherRepositoryConnector-repo.maven.apache.org-1-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-jdbc/5.3.21/spring-jdbc-5.3.21.jar 2022-09-09 11:52:55,223 [AetherRepositoryConnector-repo.maven.apache.org-1-4] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.12.11/byte-buddy-1.12.11.jar 2022-09-09 11:52:55,252 [AetherRepositoryConnector-repo.maven.apache.org-1-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-aop/2.7.1/spring-boot-starter-aop-2.7.1.jar 2022-09-09 11:52:55,429 [AetherRepositoryConnector-repo.maven.apache.org-1-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-jdbc/2.7.1/spring-boot-starter-jdbc-2.7.1.jar 2022-09-09 11:52:55,431 [AetherRepositoryConnector-repo.maven.apache.org-1-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-data-jpa/2.7.1/spring-boot-starter-data-jpa-2.7.1.jar 2022-09-09 11:52:57,095 [AetherRepositoryConnector-repo.maven.apache.org-1-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-jpa/2.7.1/spring-data-jpa-2.7.1.jar 2022-09-09 11:52:57,110 [AetherRepositoryConnector-repo.maven.apache.org-1-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-orm/5.3.21/spring-orm-5.3.21.jar 2022-09-09 11:52:57,110 [AetherRepositoryConnector-repo.maven.apache.org-1-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-commons/2.7.1/spring-data-commons-2.7.1.jar 2022-09-09 11:52:57,142 [AetherRepositoryConnector-repo.maven.apache.org-1-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-jdbc/5.3.21/spring-jdbc-5.3.21.jar 2022-09-09 11:52:58,189 [AetherRepositoryConnector-repo.maven.apache.org-1-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-context/5.3.21/spring-context-5.3.21.jar 2022-09-09 11:52:58,732 [AetherRepositoryConnector-repo.maven.apache.org-1-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-orm/5.3.21/spring-orm-5.3.21.jar 2022-09-09 11:52:58,840 [AetherRepositoryConnector-repo.maven.apache.org-1-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-jpa/2.7.1/spring-data-jpa-2.7.1.jar 2022-09-09 11:52:59,937 [AetherRepositoryConnector-repo.maven.apache.org-1-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-tx/5.3.21/spring-tx-5.3.21.jar 2022-09-09 11:53:00,128 [AetherRepositoryConnector-repo.maven.apache.org-1-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-beans/5.3.21/spring-beans-5.3.21.jar 2022-09-09 11:53:02,640 [AetherRepositoryConnector-repo.maven.apache.org-1-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-commons/2.7.1/spring-data-commons-2.7.1.jar 2022-09-09 11:53:03,384 [AetherRepositoryConnector-repo.maven.apache.org-1-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-tx/5.3.21/spring-tx-5.3.21.jar 2022-09-09 11:53:03,706 [AetherRepositoryConnector-repo.maven.apache.org-1-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-aspects/5.3.21/spring-aspects-5.3.21.jar 2022-09-09 11:53:03,799 [AetherRepositoryConnector-repo.maven.apache.org-1-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-security/2.7.1/spring-boot-starter-security-2.7.1.jar 2022-09-09 11:53:03,814 [AetherRepositoryConnector-repo.maven.apache.org-1-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-beans/5.3.21/spring-beans-5.3.21.jar 2022-09-09 11:53:03,818 [AetherRepositoryConnector-repo.maven.apache.org-1-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-context/5.3.21/spring-context-5.3.21.jar 2022-09-09 11:53:04,010 [AetherRepositoryConnector-repo.maven.apache.org-1-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter/2.7.1/spring-boot-starter-2.7.1.jar 2022-09-09 11:53:04,208 [AetherRepositoryConnector-repo.maven.apache.org-1-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot/2.7.1/spring-boot-2.7.1.jar 2022-09-09 11:53:04,212 [AetherRepositoryConnector-repo.maven.apache.org-1-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-security/2.7.1/spring-boot-starter-security-2.7.1.jar 2022-09-09 11:53:04,212 [AetherRepositoryConnector-repo.maven.apache.org-1-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-aspects/5.3.21/spring-aspects-5.3.21.jar 2022-09-09 11:53:04,212 [AetherRepositoryConnector-repo.maven.apache.org-1-4] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.12.11/byte-buddy-1.12.11.jar 2022-09-09 11:53:04,857 [AetherRepositoryConnector-repo.maven.apache.org-1-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-logging/2.7.1/spring-boot-starter-logging-2.7.1.jar 2022-09-09 11:53:04,857 [AetherRepositoryConnector-repo.maven.apache.org-1-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-autoconfigure/2.7.1/spring-boot-autoconfigure-2.7.1.jar 2022-09-09 11:53:04,857 [AetherRepositoryConnector-repo.maven.apache.org-1-4] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-aop/5.3.21/spring-aop-5.3.21.jar 2022-09-09 11:53:04,865 [AetherRepositoryConnector-repo.maven.apache.org-1-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter/2.7.1/spring-boot-starter-2.7.1.jar 2022-09-09 11:53:05,462 [AetherRepositoryConnector-repo.maven.apache.org-1-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-config/5.7.2/spring-security-config-5.7.2.jar 2022-09-09 11:53:05,618 [AetherRepositoryConnector-repo.maven.apache.org-1-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-logging/2.7.1/spring-boot-starter-logging-2.7.1.jar 2022-09-09 11:53:05,645 [AetherRepositoryConnector-repo.maven.apache.org-1-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot/2.7.1/spring-boot-2.7.1.jar 2022-09-09 11:53:06,018 [AetherRepositoryConnector-repo.maven.apache.org-1-4] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-aop/5.3.21/spring-aop-5.3.21.jar 2022-09-09 11:53:06,186 [AetherRepositoryConnector-repo.maven.apache.org-1-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-web/5.7.2/spring-security-web-5.7.2.jar 2022-09-09 11:53:06,218 [AetherRepositoryConnector-repo.maven.apache.org-1-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-expression/5.3.21/spring-expression-5.3.21.jar 2022-09-09 11:53:06,617 [AetherRepositoryConnector-repo.maven.apache.org-1-4] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-web/2.7.1/spring-boot-starter-web-2.7.1.jar 2022-09-09 11:53:07,188 [AetherRepositoryConnector-repo.maven.apache.org-1-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-autoconfigure/2.7.1/spring-boot-autoconfigure-2.7.1.jar 2022-09-09 11:53:07,188 [AetherRepositoryConnector-repo.maven.apache.org-1-4] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-web/2.7.1/spring-boot-starter-web-2.7.1.jar 2022-09-09 11:53:07,188 [AetherRepositoryConnector-repo.maven.apache.org-1-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-expression/5.3.21/spring-expression-5.3.21.jar 2022-09-09 11:53:07,383 [AetherRepositoryConnector-repo.maven.apache.org-1-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-json/2.7.1/spring-boot-starter-json-2.7.1.jar 2022-09-09 11:53:07,392 [AetherRepositoryConnector-repo.maven.apache.org-1-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-core/9.0.64/tomcat-embed-core-9.0.64.jar 2022-09-09 11:53:07,995 [AetherRepositoryConnector-repo.maven.apache.org-1-4] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-tomcat/2.7.1/spring-boot-starter-tomcat-2.7.1.jar 2022-09-09 11:53:08,009 [AetherRepositoryConnector-repo.maven.apache.org-1-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-json/2.7.1/spring-boot-starter-json-2.7.1.jar 2022-09-09 11:53:08,009 [AetherRepositoryConnector-repo.maven.apache.org-1-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-config/5.7.2/spring-security-config-5.7.2.jar 2022-09-09 11:53:08,011 [AetherRepositoryConnector-repo.maven.apache.org-1-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-web/5.7.2/spring-security-web-5.7.2.jar 2022-09-09 11:53:08,670 [AetherRepositoryConnector-repo.maven.apache.org-1-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.64/tomcat-embed-websocket-9.0.64.jar 2022-09-09 11:53:08,670 [AetherRepositoryConnector-repo.maven.apache.org-1-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-web/5.3.21/spring-web-5.3.21.jar 2022-09-09 11:53:08,670 [AetherRepositoryConnector-repo.maven.apache.org-1-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-el/9.0.64/tomcat-embed-el-9.0.64.jar 2022-09-09 11:53:08,720 [AetherRepositoryConnector-repo.maven.apache.org-1-4] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-tomcat/2.7.1/spring-boot-starter-tomcat-2.7.1.jar 2022-09-09 11:53:09,313 [AetherRepositoryConnector-repo.maven.apache.org-1-4] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-webmvc/5.3.21/spring-webmvc-5.3.21.jar 2022-09-09 11:53:09,738 [AetherRepositoryConnector-repo.maven.apache.org-1-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.64/tomcat-embed-websocket-9.0.64.jar 2022-09-09 11:53:09,745 [AetherRepositoryConnector-repo.maven.apache.org-1-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-el/9.0.64/tomcat-embed-el-9.0.64.jar 2022-09-09 11:53:10,498 [AetherRepositoryConnector-repo.maven.apache.org-1-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-test/2.7.1/spring-boot-starter-test-2.7.1.jar 2022-09-09 11:53:10,498 [AetherRepositoryConnector-repo.maven.apache.org-1-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test/2.7.1/spring-boot-test-2.7.1.jar 2022-09-09 11:53:10,828 [AetherRepositoryConnector-repo.maven.apache.org-1-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-core/9.0.64/tomcat-embed-core-9.0.64.jar 2022-09-09 11:53:10,828 [AetherRepositoryConnector-repo.maven.apache.org-1-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-test/2.7.1/spring-boot-starter-test-2.7.1.jar 2022-09-09 11:53:10,985 [AetherRepositoryConnector-repo.maven.apache.org-1-4] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-webmvc/5.3.21/spring-webmvc-5.3.21.jar 2022-09-09 11:53:11,034 [AetherRepositoryConnector-repo.maven.apache.org-1-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test/2.7.1/spring-boot-test-2.7.1.jar 2022-09-09 11:53:11,149 [AetherRepositoryConnector-repo.maven.apache.org-1-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test-autoconfigure/2.7.1/spring-boot-test-autoconfigure-2.7.1.jar 2022-09-09 11:53:11,172 [AetherRepositoryConnector-repo.maven.apache.org-1-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-web/5.3.21/spring-web-5.3.21.jar 2022-09-09 11:53:11,217 [AetherRepositoryConnector-repo.maven.apache.org-1-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-agent/1.12.11/byte-buddy-agent-1.12.11.jar 2022-09-09 11:53:11,306 [AetherRepositoryConnector-repo.maven.apache.org-1-4] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-core/5.3.21/spring-core-5.3.21.jar 2022-09-09 11:53:11,687 [AetherRepositoryConnector-repo.maven.apache.org-1-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-test/5.3.21/spring-test-5.3.21.jar 2022-09-09 11:53:11,687 [AetherRepositoryConnector-repo.maven.apache.org-1-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-jcl/5.3.21/spring-jcl-5.3.21.jar 2022-09-09 11:53:11,901 [AetherRepositoryConnector-repo.maven.apache.org-1-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test-autoconfigure/2.7.1/spring-boot-test-autoconfigure-2.7.1.jar 2022-09-09 11:53:11,941 [AetherRepositoryConnector-repo.maven.apache.org-1-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-agent/1.12.11/byte-buddy-agent-1.12.11.jar 2022-09-09 11:53:12,407 [AetherRepositoryConnector-repo.maven.apache.org-1-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-test/5.7.2/spring-security-test-5.7.2.jar 2022-09-09 11:53:12,476 [AetherRepositoryConnector-repo.maven.apache.org-1-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-core/5.7.2/spring-security-core-5.7.2.jar 2022-09-09 11:53:12,479 [AetherRepositoryConnector-repo.maven.apache.org-1-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-jcl/5.3.21/spring-jcl-5.3.21.jar 2022-09-09 11:53:12,622 [AetherRepositoryConnector-repo.maven.apache.org-1-4] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-core/5.3.21/spring-core-5.3.21.jar 2022-09-09 11:53:12,634 [AetherRepositoryConnector-repo.maven.apache.org-1-2] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-test/5.3.21/spring-test-5.3.21.jar 2022-09-09 11:53:12,847 [AetherRepositoryConnector-repo.maven.apache.org-1-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-crypto/5.7.2/spring-security-crypto-5.7.2.jar 2022-09-09 11:53:12,892 [AetherRepositoryConnector-repo.maven.apache.org-1-3] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-test/5.7.2/spring-security-test-5.7.2.jar 2022-09-09 11:53:13,090 [AetherRepositoryConnector-repo.maven.apache.org-1-1] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-core/5.7.2/spring-security-core-5.7.2.jar 2022-09-09 11:53:13,241 [AetherRepositoryConnector-repo.maven.apache.org-1-0] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-crypto/5.7.2/spring-security-crypto-5.7.2.jar 2022-09-09 11:53:13,474 [Worker-11: Building] INFO o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: com.desuperior:dsmeta:0.0.1-SNAPSHOT @ C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\pom.xml. 2022-09-09 11:53:14,328 [Worker-11: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-09 11:53:14,328 [Worker-11: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-09 11:53:14,331 [Worker-11: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource 2022-09-09 11:53:14,332 [Worker-11: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource 2022-09-09 11:53:14,335 [Worker-11: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-09 11:53:14,335 [Worker-11: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-09 11:53:14,335 [Worker-11: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-09 11:53:16,020 [Worker-16: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-09 11:53:16,020 [Worker-16: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-09 11:53:16,028 [Worker-16: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-09 11:53:16,041 [Worker-16: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource 2022-09-09 11:53:16,043 [Worker-16: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-09 11:53:16,043 [Worker-16: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-09 11:53:16,044 [Worker-16: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-09 11:53:16,057 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-data-jpa/2.7.1/spring-boot-starter-data-jpa-2.7.1-sources.jar 2022-09-09 11:53:16,403 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-data-jpa/2.7.1/spring-boot-starter-data-jpa-2.7.1-sources.jar 2022-09-09 11:53:16,406 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-starter-data-jpa:2.7.1 2022-09-09 11:53:17,192 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-aop/2.7.1/spring-boot-starter-aop-2.7.1-sources.jar 2022-09-09 11:53:17,595 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-aop/2.7.1/spring-boot-starter-aop-2.7.1-sources.jar 2022-09-09 11:53:17,617 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-starter-aop:2.7.1 2022-09-09 11:53:18,441 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-jdbc/2.7.1/spring-boot-starter-jdbc-2.7.1-sources.jar 2022-09-09 11:53:18,849 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-jdbc/2.7.1/spring-boot-starter-jdbc-2.7.1-sources.jar 2022-09-09 11:53:18,856 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-starter-jdbc:2.7.1 2022-09-09 11:53:19,550 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-jdbc/5.3.21/spring-jdbc-5.3.21-sources.jar 2022-09-09 11:53:20,669 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-jdbc/5.3.21/spring-jdbc-5.3.21-sources.jar 2022-09-09 11:53:20,684 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-jdbc:5.3.21 2022-09-09 11:53:21,464 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.12.11/byte-buddy-1.12.11-sources.jar 2022-09-09 11:53:22,860 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.12.11/byte-buddy-1.12.11-sources.jar 2022-09-09 11:53:22,867 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for net.bytebuddy:byte-buddy:1.12.11 2022-09-09 11:53:23,613 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-jpa/2.7.1/spring-data-jpa-2.7.1-sources.jar 2022-09-09 11:53:24,608 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-jpa/2.7.1/spring-data-jpa-2.7.1-sources.jar 2022-09-09 11:53:24,611 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.data:spring-data-jpa:2.7.1 2022-09-09 11:53:25,439 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-commons/2.7.1/spring-data-commons-2.7.1-sources.jar 2022-09-09 11:53:26,813 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/data/spring-data-commons/2.7.1/spring-data-commons-2.7.1-sources.jar 2022-09-09 11:53:26,821 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.data:spring-data-commons:2.7.1 2022-09-09 11:53:27,604 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-orm/5.3.21/spring-orm-5.3.21-sources.jar 2022-09-09 11:53:28,455 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-orm/5.3.21/spring-orm-5.3.21-sources.jar 2022-09-09 11:53:28,478 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-orm:5.3.21 2022-09-09 11:53:29,265 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-context/5.3.21/spring-context-5.3.21-sources.jar 2022-09-09 11:53:30,652 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-context/5.3.21/spring-context-5.3.21-sources.jar 2022-09-09 11:53:30,654 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-context:5.3.21 2022-09-09 11:53:31,431 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-tx/5.3.21/spring-tx-5.3.21-sources.jar 2022-09-09 11:53:32,446 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-tx/5.3.21/spring-tx-5.3.21-sources.jar 2022-09-09 11:53:32,472 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-tx:5.3.21 2022-09-09 11:53:33,265 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-beans/5.3.21/spring-beans-5.3.21-sources.jar 2022-09-09 11:53:34,540 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-beans/5.3.21/spring-beans-5.3.21-sources.jar 2022-09-09 11:53:34,551 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-beans:5.3.21 2022-09-09 11:53:35,269 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-aspects/5.3.21/spring-aspects-5.3.21-sources.jar 2022-09-09 11:53:35,665 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-aspects/5.3.21/spring-aspects-5.3.21-sources.jar 2022-09-09 11:53:35,673 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-aspects:5.3.21 2022-09-09 11:53:36,469 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-security/2.7.1/spring-boot-starter-security-2.7.1-sources.jar 2022-09-09 11:53:36,881 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-security/2.7.1/spring-boot-starter-security-2.7.1-sources.jar 2022-09-09 11:53:36,904 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-starter-security:2.7.1 2022-09-09 11:53:37,655 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter/2.7.1/spring-boot-starter-2.7.1-sources.jar 2022-09-09 11:53:38,018 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter/2.7.1/spring-boot-starter-2.7.1-sources.jar 2022-09-09 11:53:38,042 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-starter:2.7.1 2022-09-09 11:53:38,760 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot/2.7.1/spring-boot-2.7.1-sources.jar 2022-09-09 11:53:40,070 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot/2.7.1/spring-boot-2.7.1-sources.jar 2022-09-09 11:53:40,074 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot:2.7.1 2022-09-09 11:53:40,871 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-autoconfigure/2.7.1/spring-boot-autoconfigure-2.7.1-sources.jar 2022-09-09 11:53:42,268 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-autoconfigure/2.7.1/spring-boot-autoconfigure-2.7.1-sources.jar 2022-09-09 11:53:42,276 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-autoconfigure:2.7.1 2022-09-09 11:53:42,978 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-logging/2.7.1/spring-boot-starter-logging-2.7.1-sources.jar 2022-09-09 11:53:43,343 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-logging/2.7.1/spring-boot-starter-logging-2.7.1-sources.jar 2022-09-09 11:53:43,355 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-starter-logging:2.7.1 2022-09-09 11:53:44,129 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-aop/5.3.21/spring-aop-5.3.21-sources.jar 2022-09-09 11:53:45,154 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-aop/5.3.21/spring-aop-5.3.21-sources.jar 2022-09-09 11:53:45,159 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-aop:5.3.21 2022-09-09 11:53:45,949 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-config/5.7.2/spring-security-config-5.7.2-sources.jar 2022-09-09 11:53:49,173 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-config/5.7.2/spring-security-config-5.7.2-sources.jar 2022-09-09 11:53:49,176 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.security:spring-security-config:5.7.2 2022-09-09 11:53:50,046 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-web/5.7.2/spring-security-web-5.7.2-sources.jar 2022-09-09 11:53:51,425 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-web/5.7.2/spring-security-web-5.7.2-sources.jar 2022-09-09 11:53:51,440 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.security:spring-security-web:5.7.2 2022-09-09 11:53:52,252 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-expression/5.3.21/spring-expression-5.3.21-sources.jar 2022-09-09 11:53:53,349 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-expression/5.3.21/spring-expression-5.3.21-sources.jar 2022-09-09 11:53:53,357 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-expression:5.3.21 2022-09-09 11:53:54,130 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-web/2.7.1/spring-boot-starter-web-2.7.1-sources.jar 2022-09-09 11:53:54,567 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-web/2.7.1/spring-boot-starter-web-2.7.1-sources.jar 2022-09-09 11:53:54,570 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-starter-web:2.7.1 2022-09-09 11:53:55,357 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-json/2.7.1/spring-boot-starter-json-2.7.1-sources.jar 2022-09-09 11:53:55,768 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-json/2.7.1/spring-boot-starter-json-2.7.1-sources.jar 2022-09-09 11:53:55,773 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-starter-json:2.7.1 2022-09-09 11:53:56,631 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-tomcat/2.7.1/spring-boot-starter-tomcat-2.7.1-sources.jar 2022-09-09 11:53:57,063 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-tomcat/2.7.1/spring-boot-starter-tomcat-2.7.1-sources.jar 2022-09-09 11:53:57,077 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-starter-tomcat:2.7.1 2022-09-09 11:53:57,887 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-core/9.0.64/tomcat-embed-core-9.0.64-sources.jar 2022-09-09 11:54:01,371 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-core/9.0.64/tomcat-embed-core-9.0.64-sources.jar 2022-09-09 11:54:01,389 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.apache.tomcat.embed:tomcat-embed-core:9.0.64 2022-09-09 11:54:02,156 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-el/9.0.64/tomcat-embed-el-9.0.64-sources.jar 2022-09-09 11:54:03,003 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-el/9.0.64/tomcat-embed-el-9.0.64-sources.jar 2022-09-09 11:54:03,005 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.apache.tomcat.embed:tomcat-embed-el:9.0.64 2022-09-09 11:54:03,732 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.64/tomcat-embed-websocket-9.0.64-sources.jar 2022-09-09 11:54:04,562 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.64/tomcat-embed-websocket-9.0.64-sources.jar 2022-09-09 11:54:04,577 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.apache.tomcat.embed:tomcat-embed-websocket:9.0.64 2022-09-09 11:54:05,347 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-web/5.3.21/spring-web-5.3.21-sources.jar 2022-09-09 11:54:07,054 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-web/5.3.21/spring-web-5.3.21-sources.jar 2022-09-09 11:54:07,059 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-web:5.3.21 2022-09-09 11:54:07,812 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-webmvc/5.3.21/spring-webmvc-5.3.21-sources.jar 2022-09-09 11:54:09,909 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-webmvc/5.3.21/spring-webmvc-5.3.21-sources.jar 2022-09-09 11:54:09,920 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-webmvc:5.3.21 2022-09-09 11:54:10,674 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-test/2.7.1/spring-boot-starter-test-2.7.1-sources.jar 2022-09-09 11:54:11,056 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-test/2.7.1/spring-boot-starter-test-2.7.1-sources.jar 2022-09-09 11:54:11,059 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-starter-test:2.7.1 2022-09-09 11:54:11,890 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test/2.7.1/spring-boot-test-2.7.1-sources.jar 2022-09-09 11:54:12,745 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test/2.7.1/spring-boot-test-2.7.1-sources.jar 2022-09-09 11:54:12,761 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-test:2.7.1 2022-09-09 11:54:13,500 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test-autoconfigure/2.7.1/spring-boot-test-autoconfigure-2.7.1-sources.jar 2022-09-09 11:54:14,335 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-test-autoconfigure/2.7.1/spring-boot-test-autoconfigure-2.7.1-sources.jar 2022-09-09 11:54:14,344 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.boot:spring-boot-test-autoconfigure:2.7.1 2022-09-09 11:54:15,209 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-agent/1.12.11/byte-buddy-agent-1.12.11-sources.jar 2022-09-09 11:54:16,145 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-agent/1.12.11/byte-buddy-agent-1.12.11-sources.jar 2022-09-09 11:54:16,156 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for net.bytebuddy:byte-buddy-agent:1.12.11 2022-09-09 11:54:16,923 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-core/5.3.21/spring-core-5.3.21-sources.jar 2022-09-09 11:54:18,976 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-core/5.3.21/spring-core-5.3.21-sources.jar 2022-09-09 11:54:18,997 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-core:5.3.21 2022-09-09 11:54:19,808 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-jcl/5.3.21/spring-jcl-5.3.21-sources.jar 2022-09-09 11:54:20,194 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-jcl/5.3.21/spring-jcl-5.3.21-sources.jar 2022-09-09 11:54:20,197 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-jcl:5.3.21 2022-09-09 11:54:21,004 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/spring-test/5.3.21/spring-test-5.3.21-sources.jar 2022-09-09 11:54:22,388 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/spring-test/5.3.21/spring-test-5.3.21-sources.jar 2022-09-09 11:54:22,392 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework:spring-test:5.3.21 2022-09-09 11:54:23,091 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-test/5.7.2/spring-security-test-5.7.2-sources.jar 2022-09-09 11:54:23,526 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-test/5.7.2/spring-security-test-5.7.2-sources.jar 2022-09-09 11:54:23,534 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.security:spring-security-test:5.7.2 2022-09-09 11:54:24,339 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-core/5.7.2/spring-security-core-5.7.2-sources.jar 2022-09-09 11:54:26,083 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-core/5.7.2/spring-security-core-5.7.2-sources.jar 2022-09-09 11:54:26,105 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.security:spring-security-core:5.7.2 2022-09-09 11:54:26,902 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-crypto/5.7.2/spring-security-crypto-5.7.2-sources.jar 2022-09-09 11:54:27,514 [Worker-15: Download sources and javadoc] INFO o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-crypto/5.7.2/spring-security-crypto-5.7.2-sources.jar 2022-09-09 11:54:27,540 [Worker-15: Download sources and javadoc] INFO o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for org.springframework.security:spring-security-crypto:5.7.2 2022-09-09 11:54:28,582 [Worker-16: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-09 11:54:28,582 [Worker-16: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-09 11:54:28,583 [Worker-16: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource 2022-09-09 11:54:28,583 [Worker-16: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource 2022-09-09 11:54:28,586 [Worker-16: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-09 11:54:28,586 [Worker-16: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-09 11:54:28,587 [Worker-16: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-09 11:56:48,449 [Worker-6: Building] INFO o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: com.desuperior:dsmeta:0.0.1-SNAPSHOT @ C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\pom.xml. 2022-09-09 11:56:49,090 [Worker-6: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-09 11:56:49,091 [Worker-6: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-09 11:56:49,093 [Worker-6: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource 2022-09-09 11:56:49,093 [Worker-6: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource 2022-09-09 11:56:49,096 [Worker-6: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-09 11:56:49,096 [Worker-6: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-09 11:56:49,096 [Worker-6: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-09 11:57:10,667 [Worker-11: Updating Maven Project] INFO o.e.m.c.i.p.ProjectConfigurationManager - Update started 2022-09-09 11:57:10,953 [Worker-11: Updating Maven Project] INFO o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: com.desuperior:dsmeta:0.0.1-SNAPSHOT @ C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\pom.xml. 2022-09-09 11:57:11,611 [Worker-11: Updating Maven Project] INFO o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /backend/src/main/java 2022-09-09 11:57:11,612 [Worker-11: Updating Maven Project] INFO o.e.m.j.i.AbstractJavaProjectConfigurator - Adding resource folder /backend/src/main/resources 2022-09-09 11:57:11,612 [Worker-11: Updating Maven Project] INFO o.e.m.j.i.AbstractJavaProjectConfigurator - Adding resource folder /backend/src/main/resources 2022-09-09 11:57:11,613 [Worker-11: Updating Maven Project] INFO o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /backend/src/test/java 2022-09-09 11:57:12,020 [Worker-11: Updating Maven Project] INFO o.e.m.c.i.p.ProjectConfigurationManager - Update completed: 1 sec 2022-09-09 11:57:12,610 [Worker-11: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-09 11:57:12,610 [Worker-11: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-09 11:57:12,611 [Worker-11: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-09 11:57:12,628 [Worker-11: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource 2022-09-09 11:57:12,633 [Worker-11: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-09 11:57:12,633 [Worker-11: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-09 11:57:12,634 [Worker-11: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 01:22:56,322 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:22:56,323 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:22:56,326 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 01:22:56,379 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource 2022-09-10 01:22:56,382 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:22:56,382 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:22:56,382 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 01:22:57,481 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:22:57,481 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:22:57,481 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource 2022-09-10 01:22:57,482 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource 2022-09-10 01:22:57,484 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:22:57,484 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:22:57,485 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 01:23:31,132 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:23:31,132 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:23:31,134 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 01:23:31,141 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource 2022-09-10 01:23:31,144 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:23:31,144 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:23:31,144 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 01:29:59,511 [Worker-32: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:29:59,511 [Worker-32: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:29:59,513 [Worker-32: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 01:29:59,523 [Worker-32: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource 2022-09-10 01:29:59,526 [Worker-32: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:29:59,526 [Worker-32: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:29:59,526 [Worker-32: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 01:36:17,116 [Worker-30: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:36:17,116 [Worker-30: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:36:17,118 [Worker-30: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 01:36:17,128 [Worker-30: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource 2022-09-10 01:36:17,130 [Worker-30: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:36:17,130 [Worker-30: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:36:17,130 [Worker-30: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 01:37:24,629 [Worker-33: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:37:24,629 [Worker-33: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:37:24,631 [Worker-33: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 01:37:24,641 [Worker-33: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource 2022-09-10 01:37:24,644 [Worker-33: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:37:24,644 [Worker-33: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:37:24,644 [Worker-33: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 01:41:34,124 [Worker-36: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:41:34,124 [Worker-36: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:41:34,126 [Worker-36: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 01:41:34,132 [Worker-36: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource 2022-09-10 01:41:34,134 [Worker-36: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:41:34,134 [Worker-36: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:41:34,134 [Worker-36: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 01:42:32,871 [Worker-39: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:42:32,872 [Worker-39: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:42:32,878 [Worker-39: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 01:42:32,885 [Worker-39: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource 2022-09-10 01:42:32,888 [Worker-39: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:42:32,889 [Worker-39: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:42:32,889 [Worker-39: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 01:47:12,525 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:47:12,525 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:47:12,525 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource 2022-09-10 01:47:12,526 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 01:47:12,531 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:47:12,531 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:47:12,531 [Worker-15: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 01:49:16,792 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:49:16,792 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:49:16,793 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource 2022-09-10 01:49:16,794 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 01:49:16,803 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:49:16,803 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:49:16,803 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 01:53:31,455 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:53:31,456 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:53:31,457 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 01:53:31,469 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 01:53:31,472 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:53:31,473 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:53:31,473 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 01:54:57,554 [Worker-42: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:54:57,554 [Worker-42: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:54:57,556 [Worker-42: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 01:54:57,570 [Worker-42: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 01:54:57,573 [Worker-42: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 01:54:57,574 [Worker-42: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 01:54:57,574 [Worker-42: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 02:00:11,919 [Worker-42: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:00:11,919 [Worker-42: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:00:11,921 [Worker-42: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:00:11,932 [Worker-42: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:00:11,936 [Worker-42: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:00:11,936 [Worker-42: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:00:11,936 [Worker-42: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 02:02:17,429 [Worker-51: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:02:17,430 [Worker-51: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:02:17,431 [Worker-51: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:02:17,440 [Worker-51: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:02:17,443 [Worker-51: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:02:17,444 [Worker-51: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:02:17,444 [Worker-51: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 02:03:25,084 [Worker-51: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:03:25,085 [Worker-51: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:03:25,086 [Worker-51: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:03:25,094 [Worker-51: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:03:25,098 [Worker-51: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:03:25,098 [Worker-51: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:03:25,098 [Worker-51: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 02:04:16,011 [Worker-55: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:04:16,011 [Worker-55: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:04:16,012 [Worker-55: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:04:16,020 [Worker-55: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:04:16,023 [Worker-55: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:04:16,023 [Worker-55: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:04:16,023 [Worker-55: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 02:05:01,520 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:05:01,521 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:05:01,523 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:05:01,532 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:05:01,535 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:05:01,535 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:05:01,535 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 02:05:05,121 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:05:05,121 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:05:05,123 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:05:05,131 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:05:05,134 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:05:05,134 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:05:05,134 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 02:14:39,649 [Worker-60: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:14:39,650 [Worker-60: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:14:39,651 [Worker-60: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:14:39,661 [Worker-60: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:14:39,664 [Worker-60: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:14:39,664 [Worker-60: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:14:39,664 [Worker-60: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 02:15:08,291 [Worker-59: Launching backend - DsmetaApplication] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:15:08,291 [Worker-59: Launching backend - DsmetaApplication] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:15:08,293 [Worker-59: Launching backend - DsmetaApplication] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:15:08,303 [Worker-59: Launching backend - DsmetaApplication] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:15:08,306 [Worker-59: Launching backend - DsmetaApplication] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:15:08,306 [Worker-59: Launching backend - DsmetaApplication] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:15:08,306 [Worker-59: Launching backend - DsmetaApplication] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 02:16:21,128 [Worker-62: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:16:21,128 [Worker-62: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:16:21,130 [Worker-62: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:16:21,140 [Worker-62: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:16:21,143 [Worker-62: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:16:21,143 [Worker-62: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:16:21,143 [Worker-62: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 02:16:24,283 [Worker-55: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:16:24,283 [Worker-55: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:16:24,284 [Worker-55: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:16:24,292 [Worker-55: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:16:24,294 [Worker-55: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:16:24,295 [Worker-55: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:16:24,295 [Worker-55: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 02:19:59,904 [Worker-62: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:19:59,904 [Worker-62: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:19:59,906 [Worker-62: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:19:59,915 [Worker-62: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:19:59,918 [Worker-62: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:19:59,918 [Worker-62: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:19:59,919 [Worker-62: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 02:22:25,395 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:22:25,395 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:22:25,397 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:22:25,411 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:22:25,414 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:22:25,414 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:22:25,414 [Worker-47: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 02:23:33,550 [Worker-55: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:23:33,551 [Worker-55: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:23:33,552 [Worker-55: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:23:33,568 [Worker-55: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:23:33,571 [Worker-55: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:23:33,571 [Worker-55: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:23:33,571 [Worker-55: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 02:23:46,782 [Worker-59: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:23:46,782 [Worker-59: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:23:46,784 [Worker-59: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:23:46,792 [Worker-59: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:23:46,795 [Worker-59: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:23:46,795 [Worker-59: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:23:46,795 [Worker-59: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 02:26:00,785 [Worker-64: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:26:00,786 [Worker-64: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:26:00,788 [Worker-64: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:26:00,798 [Worker-64: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:26:00,800 [Worker-64: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:26:00,800 [Worker-64: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:26:00,800 [Worker-64: Building] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 02:26:12,137 [Worker-66: Launching backend - DsmetaApplication] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:26:12,137 [Worker-66: Launching backend - DsmetaApplication] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:26:12,139 [Worker-66: Launching backend - DsmetaApplication] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:26:12,150 [Worker-66: Launching backend - DsmetaApplication] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource 2022-09-10 02:26:12,154 [Worker-66: Launching backend - DsmetaApplication] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:26:12,154 [Worker-66: Launching backend - DsmetaApplication] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:26:12,154 [Worker-66: Launching backend - DsmetaApplication] INFO o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\Users\User\dev\projetos_devsuperiorMetas\dsmetas\backend\src\test\resources 2022-09-10 02:37:29,742 [Worker-63: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources. 2022-09-10 02:37:29,743 [Worker-63: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered properties files. 2022-09-10 02:37:29,744 [Worker-63: Building] INFO o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource ================================================ FILE: example-logs/example3 ================================================ 2015-04-22 01:46:08.399 [http-bio-8880-exec-2439] INFO com.efx.pet.AUDIT_EVENT-[SessionId=E621EC9A3144227E7B9A35DF98F1A0CF, ExperienceId=5CEE0119-3B40-4C92-8E90-5D9E52E0DD12]-[order-funnel-instance:browser]-{"EventName":"INITIAL_PRODUCT_OFFER","SessionId":"E621EC9A3144227E7B9A35DF98F1A0CF","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"41694fc7-b6ff-4965-bcf3-5bf489b7a431","Logger":"AuditController","param_ipAddress":"184.166.70.190","param_referer":"https://shop.equifax.com/orderfunnel/b6dea8aa-0bf2-44a8-a348-3de4849fe4bb/AB21051B-C677-4CDD-ABD7-47B990CC0A7B/?legacy=PSb15upd02_bplanr&campaign=BPLAN1795&product=PSb15upd02_bplanr&source=equifaxComplete%2FEquifax&mboxSession=1429666888006-441925&s_tnt=282656:1:0","Offer":"AB21051B-C677-4CDD-ABD7-47B990CC0A7B","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667168398","Version":"1.0","Partner":"EFX","Tenant":"EFX","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"US Four-Step Legacy Plus, Collect_Wallet_Data page, browser event -\nInitial Product: BPLAN, Initial Offer: 4.95","param_userAgent":"Mozilla/5.0 (iPad; CPU OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12D508 Safari/600.1.4","Locale":"English (United States)","EventType":"USER_INTERACTION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667168398","Layer":"browser","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","param_cartDisplayedOffers":"[]","Division":"DOMAIN2","ExperienceId":"5CEE0119-3B40-4C92-8E90-5D9E52E0DD12","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:46:08.788 [http-bio-8880-exec-2439] INFO com.efx.pet.AUDIT_EVENT-[SessionId=E621EC9A3144227E7B9A35DF98F1A0CF, ExperienceId=5CEE0119-3B40-4C92-8E90-5D9E52E0DD12]-[order-funnel-instance:browser]-{"EventName":"ORDER_FUNNEL_START","SessionId":"E621EC9A3144227E7B9A35DF98F1A0CF","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"2fa606d3-fe5c-4856-b880-24ffbc7666f3","Logger":"AuditController","param_ipAddress":"184.166.70.190","param_referer":"https://shop.equifax.com/orderfunnel/b6dea8aa-0bf2-44a8-a348-3de4849fe4bb/AB21051B-C677-4CDD-ABD7-47B990CC0A7B/?legacy=PSb15upd02_bplanr&campaign=BPLAN1795&product=PSb15upd02_bplanr&source=equifaxComplete%2FEquifax&mboxSession=1429666888006-441925&s_tnt=282656:1:0","Offer":"AB21051B-C677-4CDD-ABD7-47B990CC0A7B","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667168787","Version":"1.0","Partner":"EFX","Tenant":"EFX","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"US Four-Step Legacy Plus, step 0. Funnel instance:\nb6dea8aa-0bf2-44a8-a348-3de4849fe4bb. Offer: AB21051B-C677-4CDD-ABD7-47B990CC0A7B","param_userAgent":"Mozilla/5.0 (iPad; CPU OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12D508 Safari/600.1.4","Locale":"English (United States)","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667168787","Layer":"browser","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"5CEE0119-3B40-4C92-8E90-5D9E52E0DD12","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:46:23.886 [http-bio-8880-exec-2448] INFO com.efx.pet.AUDIT_EVENT-[SessionId=9B5CE1A1F9C6EABC088D045C572925C4, ExperienceId=09B2F40E-874D-4EC2-A8C9-DF696C28241B]-[order-funnel-instance:browser]-{"EventName":"ORDER_FUNNEL_SSN_ON_BLUR","SessionId":"9B5CE1A1F9C6EABC088D045C572925C4","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"37c14fcf-02aa-44ee-887d-dd7c725b12c7","Logger":"AuditController","param_ipAddress":"67.83.182.203","param_referer":"https://shop.equifax.com/orderfunnel/7b5b72a0-a7cd-45e4-8008-cf4d3c08d61b/E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56/?legacy=W14upd11_uplanr&campaign=UPLAN1995&product=W14upd11_uplanr&source=HomePage&mboxSession=1429666524218-314159&s_tnt=185050:1:0","Offer":"E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667183885","Version":"1.0","Partner":"EFX","Tenant":"EFX","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"US Four-Step Legacy Plus, Create Account page, browser event - Focus\nhas left the input-uid input field.","param_userAgent":"Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; MAARJS; rv:11.0) like Gecko","Locale":"English (United States)","EventType":"USER_INTERACTION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667183886","Layer":"browser","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"09B2F40E-874D-4EC2-A8C9-DF696C28241B","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:46:24.836 [http-bio-8880-exec-2427] INFO com.efx.pet.AUDIT_EVENT-[SessionId=E621EC9A3144227E7B9A35DF98F1A0CF, ExperienceId=5CEE0119-3B40-4C92-8E90-5D9E52E0DD12]-[workflow-service:rest-client]-{"EventName":"BEGIN","SessionId":"E621EC9A3144227E7B9A35DF98F1A0CF","EventStatus":"BEGIN","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"65f6c056-8433-461b-a334-90103a4b0096","Logger":"WorkflowRestClient","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667184824","Version":"1.0","Partner":"EFX","Tenant":"US","Domain":"workflow-service","Product":"unknown","Machine":"aptp2lc9a001","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667184835","Layer":"rest-client","TransactionId":"0b441f8b-0ded-4070-8a69-c8931b5975c1","Env":"PROD","ConversationId":"START_ORDER_FUNNEL_LEGACY_PLUS - initial","Division":"DOMAIN2","ExperienceId":"5CEE0119-3B40-4C92-8E90-5D9E52E0DD12","Namespace":"ORDERFUNNEL","RemoteAddress":"184.166.70.190","CustomerKey":"unknown"} 2015-04-22 01:46:24.836 [http-bio-8880-exec-2427] INFO com.efx.pet.AUDIT_EVENT-[SessionId=E621EC9A3144227E7B9A35DF98F1A0CF, ExperienceId=5CEE0119-3B40-4C92-8E90-5D9E52E0DD12]-[workflow-service:rest-client]-{"EventName":"BEGIN","SessionId":"E621EC9A3144227E7B9A35DF98F1A0CF","EventStatus":"IN_PROGRESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"65f6c056-8433-461b-a334-90103a4b0096","Logger":"WorkflowRestClient","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667184824","Version":"1.0","Partner":"EFX","Tenant":"US","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"workflow-service","Product":"unknown","Machine":"aptp2lc9a001","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667184836","Layer":"rest-client","TransactionId":"0b441f8b-0ded-4070-8a69-c8931b5975c1","Env":"PROD","ConversationId":"START_ORDER_FUNNEL_LEGACY_PLUS - initial","Division":"DOMAIN2","ExperienceId":"5CEE0119-3B40-4C92-8E90-5D9E52E0DD12","Namespace":"ORDERFUNNEL","RemoteAddress":"184.166.70.190","CustomerKey":"unknown"} 2015-04-22 01:46:25.145 [http-bio-8880-exec-2427] INFO com.efx.pet.AUDIT_EVENT-[SessionId=E621EC9A3144227E7B9A35DF98F1A0CF, ExperienceId=5CEE0119-3B40-4C92-8E90-5D9E52E0DD12]-[workflow-service:rest-client]-{"EventName":"BEGIN","SessionId":"E621EC9A3144227E7B9A35DF98F1A0CF","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"65f6c056-8433-461b-a334-90103a4b0096","Logger":"WorkflowRestClient","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667184824","Version":"1.0","Partner":"EFX","Tenant":"US","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"workflow-service","Product":"unknown","Machine":"aptp2lc9a001","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667185145","Layer":"rest-client","TransactionId":"0b441f8b-0ded-4070-8a69-c8931b5975c1","Env":"PROD","ConversationId":"START_ORDER_FUNNEL_LEGACY_PLUS - initial","Division":"DOMAIN2","ExperienceId":"5CEE0119-3B40-4C92-8E90-5D9E52E0DD12","Namespace":"ORDERFUNNEL","RemoteAddress":"184.166.70.190","CustomerKey":"unknown"} 2015-04-22 01:46:25.151 [http-bio-8880-exec-2427] ERROR org.apache.velocity.runtime.log.Log4JLogChute-[SessionId=E621EC9A3144227E7B9A35DF98F1A0CF, ExperienceId=5CEE0119-3B40-4C92-8E90-5D9E52E0DD12]-[]-Left side ($Integer.parseInt($duration)) of '>' operation has null value at logTag[line 1, column 373] 2015-04-22 01:46:25.152 [http-bio-8880-exec-2427] ERROR org.apache.velocity.runtime.log.Log4JLogChute-[SessionId=E621EC9A3144227E7B9A35DF98F1A0CF, ExperienceId=5CEE0119-3B40-4C92-8E90-5D9E52E0DD12]-[]-Left side ($Integer.parseInt($duration)) of '>' operation has null value at logTag[line 1, column 373] 2015-04-22 01:46:25.155 [http-bio-8880-exec-2427] ERROR org.apache.velocity.runtime.log.Log4JLogChute-[SessionId=E621EC9A3144227E7B9A35DF98F1A0CF, ExperienceId=5CEE0119-3B40-4C92-8E90-5D9E52E0DD12]-[]-Left side ($Integer.parseInt($duration)) of '>' operation has null value at logTag[line 1, column 373] 2015-04-22 01:46:25.157 [http-bio-8880-exec-2427] ERROR org.apache.velocity.runtime.log.Log4JLogChute-[SessionId=E621EC9A3144227E7B9A35DF98F1A0CF, ExperienceId=5CEE0119-3B40-4C92-8E90-5D9E52E0DD12]-[]-Left side ($Integer.parseInt($duration)) of '>' operation has null value at logTag[line 1, column 373] 2015-04-22 01:46:25.158 [http-bio-8880-exec-2427] INFO com.efx.pet.AUDIT_EVENT-[SessionId=E621EC9A3144227E7B9A35DF98F1A0CF, ExperienceId=5CEE0119-3B40-4C92-8E90-5D9E52E0DD12]-[order-funnel:substrate]-{"EventName":"ORDER_FUNNEL_PAGE_CHANGE","SessionId":"E621EC9A3144227E7B9A35DF98F1A0CF","EventStatus":"IN_PROGRESS","Brand":"EFX","Channel":"Web","UserAgent":"Mozilla/5.0 (iPad; CPU OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12D508 Safari/600.1.4","EventId":"8e5e3482-245a-4e53-9506-bf4e6d176e7d","param_ChangeEndOrderContext":"efa74269-9777-4b49-8bc5-8a8fee2bce3eCollect_Wallet_Dataworkflow2.05217128UI5217086","Logger":"OrderfunnelProcessController","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","param_CSC":"PSb15upd02","param_InstanceGuid":"b6dea8aa-0bf2-44a8-a348-3de4849fe4bb","param_ChangeEndStep":"Collect_Wallet_Data","AppName":"Orderfunnel","StartTime":"1429667185158","Version":"1.0","Partner":"EFX","Tenant":"US","param_ChangeStartStep":"BEGIN","Domain":"order-funnel","Product":"AB21051B-C677-4CDD-ABD7-47B990CC0A7B","Machine":"aptp2lc9a001","param_Extrinsics":"{product=PSb15upd02_bplanr, EXPERIENCE_ID=5CEE0119-3B40-4C92-8E90-5D9E52E0DD12, source=equifaxComplete/Equifax, mboxSession=1429666888006-441925, campaign=BPLAN1795, s_tnt=282656:1:0#/personal-information, legacy=PSb15upd02_bplanr}","param_LegacyParam":"PSb15upd02_bplanr","param_TemplateName":"USLegacyPlusTemplate","Locale":"en_US","EventType":"ORDER_ENTRY","ModuleName":"Orderfunnel","EffectiveUserId":"unknown","Timestamp":"1429667185158","Layer":"substrate","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","param_ChangeEndStatus":"WAITING","Division":"DOMAIN2","Namespace":"ORDERFUNNEL","RemoteAddress":"184.166.70.190","param_ChangeStartOrderContext":"BEGIN","CustomerKey":"unknown"} 2015-04-22 01:46:25.373 [http-bio-8880-exec-2422] INFO com.efx.pet.AUDIT_EVENT-[SessionId=E621EC9A3144227E7B9A35DF98F1A0CF, ExperienceId=5CEE0119-3B40-4C92-8E90-5D9E52E0DD12]-[order-funnel-instance:browser]-{"EventName":"INITIAL_PRODUCT_OFFER","SessionId":"E621EC9A3144227E7B9A35DF98F1A0CF","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"9a8d7342-369c-4dfa-b5ad-be8065028b6f","Logger":"AuditController","param_ipAddress":"184.166.70.190","param_referer":"https://shop.equifax.com/orderfunnel/b6dea8aa-0bf2-44a8-a348-3de4849fe4bb/AB21051B-C677-4CDD-ABD7-47B990CC0A7B/?legacy=PSb15upd02_bplanr&campaign=BPLAN1795&product=PSb15upd02_bplanr&source=equifaxComplete%2FEquifax&mboxSession=1429666888006-441925&s_tnt=282656:1:0","Offer":"AB21051B-C677-4CDD-ABD7-47B990CC0A7B","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667185373","Version":"1.0","Partner":"EFX","Tenant":"EFX","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"US Four-Step Legacy Plus, Collect_Wallet_Data page, browser event -\nInitial Product: BPLAN, Initial Offer: 4.95","param_userAgent":"Mozilla/5.0 (iPad; CPU OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12D508 Safari/600.1.4","Locale":"English (United States)","EventType":"USER_INTERACTION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667185373","Layer":"browser","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","param_cartDisplayedOffers":"[]","Division":"DOMAIN2","ExperienceId":"5CEE0119-3B40-4C92-8E90-5D9E52E0DD12","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:46:52.687 [http-bio-8880-exec-2451] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=]-[aof-instance:substrate-service]-{"EventName":"FIND_INSTANCE_BY_GUID","SessionId":"A0A36888E9042D2E72A16E1DE4065F89","EventStatus":"BEGIN","Brand":"EFX","Channel":"Service","UserAgent":"Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko","EventId":"dda90300-4640-4111-8750-efd01f184df7","Logger":"OrdefunnelInstanceResolverImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"Orderfunnel","StartTime":"1429667212687","Version":"1.0","Partner":"EFX","Tenant":"US","Domain":"aof-instance","Product":"E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56","Machine":"aptp2lc9a001","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"Orderfunnel","EffectiveUserId":"unknown","Timestamp":"1429667212687","Layer":"substrate-service","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","Namespace":"ORDERFUNNEL","EndTime":"1429667212687","RemoteAddress":"181.188.111.98","CustomerKey":"unknown"} 2015-04-22 01:46:52.699 [http-bio-8880-exec-2451] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"A0A36888E9042D2E72A16E1DE4065F89","EventStatus":"BEGIN","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"abf2fb36-790f-476e-bbaa-bdb23d4072be","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667212688","Version":"1.0","Partner":"EFX","Tenant":"EFX","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667212698","Layer":"service-client","TransactionId":"b1b64243-0c5a-47e5-9ca8-9f7a235637a2","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"181.188.111.98","CustomerKey":"unknown"} 2015-04-22 01:46:52.699 [http-bio-8880-exec-2451] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"A0A36888E9042D2E72A16E1DE4065F89","EventStatus":"IN_PROGRESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"abf2fb36-790f-476e-bbaa-bdb23d4072be","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667212688","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667212699","Layer":"service-client","TransactionId":"b1b64243-0c5a-47e5-9ca8-9f7a235637a2","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"181.188.111.98","CustomerKey":"unknown"} 2015-04-22 01:46:52.723 [http-bio-8880-exec-2451] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"A0A36888E9042D2E72A16E1DE4065F89","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"abf2fb36-790f-476e-bbaa-bdb23d4072be","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667212688","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667212723","Layer":"service-client","TransactionId":"b1b64243-0c5a-47e5-9ca8-9f7a235637a2","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"181.188.111.98","CustomerKey":"unknown"} 2015-04-22 01:46:52.725 [http-bio-8880-exec-2451] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=]-[aof-instance:substrate-service]-{"EventName":"FIND_INSTANCE_BY_GUID","SessionId":"A0A36888E9042D2E72A16E1DE4065F89","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"Service","UserAgent":"Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko","EventId":"dda90300-4640-4111-8750-efd01f184df7","Logger":"OrdefunnelInstanceResolverImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"Orderfunnel","StartTime":"1429667212687","Version":"1.0","Partner":"EFX","Tenant":"US","Domain":"aof-instance","Product":"E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56","Machine":"aptp2lc9a001","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"Orderfunnel","EffectiveUserId":"unknown","Timestamp":"1429667212724","Layer":"substrate-service","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","Namespace":"ORDERFUNNEL","EndTime":"1429667212724","RemoteAddress":"181.188.111.98","CustomerKey":"unknown"} 2015-04-22 01:46:52.729 [http-bio-8880-exec-2451] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=]-[order-funnel:substrate]-{"EventName":"ORDER_FUNNEL_START","SessionId":"A0A36888E9042D2E72A16E1DE4065F89","EventStatus":"BEGIN","Brand":"EFX","Channel":"Web","param_FunnelInitContext":"guid: 7b5b72a0-a7cd-45e4-8008-cf4d3c08d61b template: USLegacyPlusTemplate lastUpdate: null","UserAgent":"Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko","EventId":"2966e501-f6cc-4b98-beba-b2fb04dfb439","Logger":"OrderfunnelInstanceController","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","param_CSC":"W14upd11","param_InstanceGuid":"7b5b72a0-a7cd-45e4-8008-cf4d3c08d61b","AppName":"Orderfunnel","StartTime":"1429667212728","Version":"1.0","Partner":"EFX","Tenant":"US","Domain":"order-funnel","Product":"E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56","Machine":"aptp2lc9a001","param_Extrinsics":"{product=W14upd11_uplanr, EXPERIENCE_ID=1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B, source=HomePage, mboxSession=1429667153917-16609, campaign=UPLAN1995, s_tnt=185050:1:0#/personal-information, legacy=W14upd11_uplanr}","param_LegacyParam":"W14upd11_uplanr","param_TemplateName":"USLegacyPlusTemplate","param_PropositionUrl":"http://shop.equifax.com/orderfunnel/US/7b5b72a0-a7cd-45e4-8008-cf4d3c08d61b/E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56/?legacy=W14upd11_uplanr&campaign=UPLAN1995&product=W14upd11_uplanr&source=HomePage&mboxSession=1429667153917-16609&s_tnt=185050:1:0#/personal-information","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"Orderfunnel","EffectiveUserId":"unknown","Timestamp":"1429667212728","Layer":"substrate","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","Namespace":"ORDERFUNNEL","RemoteAddress":"181.188.111.98","CustomerKey":"unknown"} 2015-04-22 01:46:54.009 [http-bio-8880-exec-2423] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"unknown","EventStatus":"BEGIN","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"ba9fa2e7-55e4-49e8-b482-d3510f980531","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667213997","Version":"1.0","Partner":"EFX","Tenant":"EFX","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667214008","Layer":"service-client","TransactionId":"6313cfbb-efa9-487d-8dd5-9c5bbc02c843","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:46:54.009 [http-bio-8880-exec-2423] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"unknown","EventStatus":"IN_PROGRESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"ba9fa2e7-55e4-49e8-b482-d3510f980531","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667213997","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667214009","Layer":"service-client","TransactionId":"6313cfbb-efa9-487d-8dd5-9c5bbc02c843","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:46:54.035 [http-bio-8880-exec-2423] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"unknown","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"ba9fa2e7-55e4-49e8-b482-d3510f980531","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667213997","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667214034","Layer":"service-client","TransactionId":"6313cfbb-efa9-487d-8dd5-9c5bbc02c843","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:46:54.047 [http-bio-8880-exec-2423] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B]-[order-management:service-client]-{"EventName":"ORDER_MANAGEMENT_GET_PRODUCT_OFFER_SET","SessionId":"unknown","EventStatus":"BEGIN","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"9b18611f-a3fa-436f-9bad-6f4994b921ed","Logger":"OrderManagementRestClientImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667214036","Version":"1.0","Partner":"EFX","Tenant":"EFX","Domain":"order-management","Product":"unknown","Machine":"aptp2lc9a001","Message":"getProductOfferSet","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667214046","Layer":"service-client","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:46:54.047 [http-bio-8880-exec-2423] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B]-[order-management:service-client]-{"EventName":"ORDER_MANAGEMENT_GET_PRODUCT_OFFER_SET","SessionId":"unknown","EventStatus":"IN_PROGRESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"9b18611f-a3fa-436f-9bad-6f4994b921ed","Logger":"OrderManagementRestClientImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667214036","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-management","Product":"unknown","Machine":"aptp2lc9a001","Message":"getProductOfferSet","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667214047","Layer":"service-client","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:46:54.068 [http-bio-8880-exec-2423] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B]-[order-management:service-client]-{"EventName":"ORDER_MANAGEMENT_GET_PRODUCT_OFFER_SET","SessionId":"unknown","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"9b18611f-a3fa-436f-9bad-6f4994b921ed","Logger":"OrderManagementRestClientImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667214036","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-management","Product":"unknown","Machine":"aptp2lc9a001","Message":"getProductOfferSet","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667214067","Layer":"service-client","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:46:54.079 [http-bio-8880-exec-2423] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"unknown","EventStatus":"BEGIN","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"ff7634e1-0922-427c-b399-9e73c9e9e594","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667214069","Version":"1.0","Partner":"EFX","Tenant":"EFX","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667214079","Layer":"service-client","TransactionId":"445f1d8a-2bf9-4512-baaf-e6778d3337e9","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:46:54.080 [http-bio-8880-exec-2423] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"unknown","EventStatus":"IN_PROGRESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"ff7634e1-0922-427c-b399-9e73c9e9e594","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667214069","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667214080","Layer":"service-client","TransactionId":"445f1d8a-2bf9-4512-baaf-e6778d3337e9","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:46:54.113 [http-bio-8880-exec-2423] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"unknown","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"ff7634e1-0922-427c-b399-9e73c9e9e594","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667214069","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667214113","Layer":"service-client","TransactionId":"445f1d8a-2bf9-4512-baaf-e6778d3337e9","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:46:54.125 [http-bio-8880-exec-2423] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B]-[order-management:service-client]-{"EventName":"ORDER_MANAGEMENT_GET_PRODUCT_OFFER_SET","SessionId":"unknown","EventStatus":"BEGIN","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"36ee3412-8f63-4eb6-9531-6f61d659a1ff","Logger":"OrderManagementRestClientImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667214114","Version":"1.0","Partner":"EFX","Tenant":"EFX","Domain":"order-management","Product":"unknown","Machine":"aptp2lc9a001","Message":"getProductOfferSet","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667214124","Layer":"service-client","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:46:54.125 [http-bio-8880-exec-2423] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B]-[order-management:service-client]-{"EventName":"ORDER_MANAGEMENT_GET_PRODUCT_OFFER_SET","SessionId":"unknown","EventStatus":"IN_PROGRESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"36ee3412-8f63-4eb6-9531-6f61d659a1ff","Logger":"OrderManagementRestClientImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667214114","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-management","Product":"unknown","Machine":"aptp2lc9a001","Message":"getProductOfferSet","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667214125","Layer":"service-client","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:46:54.157 [http-bio-8880-exec-2423] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B]-[order-management:service-client]-{"EventName":"ORDER_MANAGEMENT_GET_PRODUCT_OFFER_SET","SessionId":"unknown","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"36ee3412-8f63-4eb6-9531-6f61d659a1ff","Logger":"OrderManagementRestClientImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667214114","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-management","Product":"unknown","Machine":"aptp2lc9a001","Message":"getProductOfferSet","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667214157","Layer":"service-client","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:46:57.034 [http-bio-8880-exec-2452] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B]-[workflow-service:rest-client]-{"EventName":"BEGIN","SessionId":"A0A36888E9042D2E72A16E1DE4065F89","EventStatus":"BEGIN","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"7e7b4c74-a333-4a83-aecf-2d39a91b7da5","Logger":"WorkflowRestClient","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667217023","Version":"1.0","Partner":"EFX","Tenant":"US","Domain":"workflow-service","Product":"unknown","Machine":"aptp2lc9a001","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667217034","Layer":"rest-client","TransactionId":"8ac61172-c30a-4112-ac0b-b6d49cea311d","Env":"PROD","ConversationId":"START_ORDER_FUNNEL_LEGACY_PLUS - initial","Division":"DOMAIN2","ExperienceId":"1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B","Namespace":"ORDERFUNNEL","RemoteAddress":"181.188.111.98","CustomerKey":"unknown"} 2015-04-22 01:46:57.036 [http-bio-8880-exec-2452] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B]-[workflow-service:rest-client]-{"EventName":"BEGIN","SessionId":"A0A36888E9042D2E72A16E1DE4065F89","EventStatus":"IN_PROGRESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"7e7b4c74-a333-4a83-aecf-2d39a91b7da5","Logger":"WorkflowRestClient","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667217023","Version":"1.0","Partner":"EFX","Tenant":"US","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"workflow-service","Product":"unknown","Machine":"aptp2lc9a001","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667217034","Layer":"rest-client","TransactionId":"8ac61172-c30a-4112-ac0b-b6d49cea311d","Env":"PROD","ConversationId":"START_ORDER_FUNNEL_LEGACY_PLUS - initial","Division":"DOMAIN2","ExperienceId":"1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B","Namespace":"ORDERFUNNEL","RemoteAddress":"181.188.111.98","CustomerKey":"unknown"} 2015-04-22 01:46:57.275 [http-bio-8880-exec-2452] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B]-[workflow-service:rest-client]-{"EventName":"BEGIN","SessionId":"A0A36888E9042D2E72A16E1DE4065F89","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"7e7b4c74-a333-4a83-aecf-2d39a91b7da5","Logger":"WorkflowRestClient","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667217023","Version":"1.0","Partner":"EFX","Tenant":"US","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"workflow-service","Product":"unknown","Machine":"aptp2lc9a001","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667217275","Layer":"rest-client","TransactionId":"8ac61172-c30a-4112-ac0b-b6d49cea311d","Env":"PROD","ConversationId":"START_ORDER_FUNNEL_LEGACY_PLUS - initial","Division":"DOMAIN2","ExperienceId":"1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B","Namespace":"ORDERFUNNEL","RemoteAddress":"181.188.111.98","CustomerKey":"unknown"} 2015-04-22 01:46:57.281 [http-bio-8880-exec-2452] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B]-[order-funnel:substrate]-{"EventName":"ORDER_FUNNEL_PAGE_CHANGE","SessionId":"A0A36888E9042D2E72A16E1DE4065F89","EventStatus":"IN_PROGRESS","Brand":"EFX","Channel":"Web","UserAgent":"Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko","EventId":"5ad95d51-110b-46b3-a5bf-a4fefeb624a3","param_ChangeEndOrderContext":"84a47e2e-e76b-41fd-a1e7-f43e2c0a4fb9Collect_Wallet_Dataworkflow2.05217177UI5217135","Logger":"OrderfunnelProcessController","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","param_CSC":"W14upd11","param_InstanceGuid":"7b5b72a0-a7cd-45e4-8008-cf4d3c08d61b","param_ChangeEndStep":"Collect_Wallet_Data","AppName":"Orderfunnel","StartTime":"1429667217281","Version":"1.0","Partner":"EFX","Tenant":"US","param_ChangeStartStep":"BEGIN","Domain":"order-funnel","Product":"E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56","Machine":"aptp2lc9a001","param_Extrinsics":"{product=W14upd11_uplanr, EXPERIENCE_ID=1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B, source=HomePage, mboxSession=1429667153917-16609, campaign=UPLAN1995, s_tnt=185050:1:0#/personal-information, legacy=W14upd11_uplanr}","param_LegacyParam":"W14upd11_uplanr","param_TemplateName":"USLegacyPlusTemplate","Locale":"en_US","EventType":"ORDER_ENTRY","ModuleName":"Orderfunnel","EffectiveUserId":"unknown","Timestamp":"1429667217281","Layer":"substrate","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","param_ChangeEndStatus":"WAITING","Division":"DOMAIN2","Namespace":"ORDERFUNNEL","RemoteAddress":"181.188.111.98","param_ChangeStartOrderContext":"BEGIN","CustomerKey":"unknown"} 2015-04-22 01:46:57.867 [http-bio-8880-exec-2420] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B]-[order-funnel-instance:browser]-{"EventName":"ORDER_FUNNEL_START","SessionId":"A0A36888E9042D2E72A16E1DE4065F89","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"e01d1f4a-8286-452e-84b4-4716b43dda29","Logger":"AuditController","param_ipAddress":"181.188.111.98","param_referer":"https://shop.equifax.com/orderfunnel/7b5b72a0-a7cd-45e4-8008-cf4d3c08d61b/E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56/?legacy=W14upd11_uplanr&campaign=UPLAN1995&product=W14upd11_uplanr&source=HomePage&mboxSession=1429667153917-16609&s_tnt=185050:1:0","Offer":"E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667217866","Version":"1.0","Partner":"EFX","Tenant":"EFX","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"US Four-Step Legacy Plus, step 0. Funnel instance:\n7b5b72a0-a7cd-45e4-8008-cf4d3c08d61b. Offer: E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56","param_userAgent":"Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko","Locale":"English (United States)","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667217866","Layer":"browser","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:46:57.868 [http-bio-8880-exec-2450] INFO com.efx.pet.AUDIT_EVENT-[SessionId=A0A36888E9042D2E72A16E1DE4065F89, ExperienceId=1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B]-[order-funnel-instance:browser]-{"EventName":"INITIAL_PRODUCT_OFFER","SessionId":"A0A36888E9042D2E72A16E1DE4065F89","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"c342aa0e-e4d5-4dc6-9f8f-a82b381f1148","Logger":"AuditController","param_ipAddress":"181.188.111.98","param_referer":"https://shop.equifax.com/orderfunnel/7b5b72a0-a7cd-45e4-8008-cf4d3c08d61b/E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56/?legacy=W14upd11_uplanr&campaign=UPLAN1995&product=W14upd11_uplanr&source=HomePage&mboxSession=1429667153917-16609&s_tnt=185050:1:0","Offer":"E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667217868","Version":"1.0","Partner":"EFX","Tenant":"EFX","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"US Four-Step Legacy Plus, Collect_Wallet_Data page, browser event -\nInitial Product: UPLAN, Initial Offer: 19.95","param_userAgent":"Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko","Locale":"English (United States)","EventType":"USER_INTERACTION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667217868","Layer":"browser","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","param_cartDisplayedOffers":"[]","Division":"DOMAIN2","ExperienceId":"1C7A99BA-ABDD-4A4D-BD11-44EAAB548C0B","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:47:07.185 [http-bio-8880-exec-2437] INFO com.efx.pet.AUDIT_EVENT-[SessionId=2F9089F20D940E85422CC7F8AD338BE0, ExperienceId=]-[aof-instance:substrate-service]-{"EventName":"FIND_INSTANCE_BY_GUID","SessionId":"2F9089F20D940E85422CC7F8AD338BE0","EventStatus":"BEGIN","Brand":"EFX","Channel":"Service","UserAgent":"Wget/1.11.4","EventId":"ffc5013e-305a-44df-802d-49afe989b28b","Logger":"OrdefunnelInstanceResolverImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"Orderfunnel","StartTime":"1429667227185","Version":"1.0","Partner":"EFX","Tenant":"US","Domain":"aof-instance","Product":"C7B4477E-4CCB-41F2-AB14-4F6B76372412","Machine":"aptp2lc9a001","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"Orderfunnel","EffectiveUserId":"unknown","Timestamp":"1429667227185","Layer":"substrate-service","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","Namespace":"ORDERFUNNEL","EndTime":"1429667227185","RemoteAddress":"172.25.28.35","CustomerKey":"unknown"} 2015-04-22 01:47:07.197 [http-bio-8880-exec-2437] INFO com.efx.pet.AUDIT_EVENT-[SessionId=2F9089F20D940E85422CC7F8AD338BE0, ExperienceId=]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"2F9089F20D940E85422CC7F8AD338BE0","EventStatus":"BEGIN","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"ee2adfa5-8751-42c4-81ae-df72f2853d21","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667227185","Version":"1.0","Partner":"EFX","Tenant":"EFX","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667227196","Layer":"service-client","TransactionId":"a400cfdb-333b-4687-b4e2-fcad0ac3f9a7","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"172.25.28.35","CustomerKey":"unknown"} 2015-04-22 01:47:07.197 [http-bio-8880-exec-2437] INFO com.efx.pet.AUDIT_EVENT-[SessionId=2F9089F20D940E85422CC7F8AD338BE0, ExperienceId=]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"2F9089F20D940E85422CC7F8AD338BE0","EventStatus":"IN_PROGRESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"ee2adfa5-8751-42c4-81ae-df72f2853d21","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667227185","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667227197","Layer":"service-client","TransactionId":"a400cfdb-333b-4687-b4e2-fcad0ac3f9a7","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"172.25.28.35","CustomerKey":"unknown"} 2015-04-22 01:47:07.225 [http-bio-8880-exec-2437] INFO com.efx.pet.AUDIT_EVENT-[SessionId=2F9089F20D940E85422CC7F8AD338BE0, ExperienceId=]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"2F9089F20D940E85422CC7F8AD338BE0","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"ee2adfa5-8751-42c4-81ae-df72f2853d21","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667227185","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667227224","Layer":"service-client","TransactionId":"a400cfdb-333b-4687-b4e2-fcad0ac3f9a7","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"172.25.28.35","CustomerKey":"unknown"} 2015-04-22 01:47:07.226 [http-bio-8880-exec-2437] INFO com.efx.pet.AUDIT_EVENT-[SessionId=2F9089F20D940E85422CC7F8AD338BE0, ExperienceId=]-[aof-instance:substrate-service]-{"EventName":"FIND_INSTANCE_BY_GUID","SessionId":"2F9089F20D940E85422CC7F8AD338BE0","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"Service","UserAgent":"Wget/1.11.4","EventId":"ffc5013e-305a-44df-802d-49afe989b28b","Logger":"OrdefunnelInstanceResolverImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"Orderfunnel","StartTime":"1429667227185","Version":"1.0","Partner":"EFX","Tenant":"US","Domain":"aof-instance","Product":"C7B4477E-4CCB-41F2-AB14-4F6B76372412","Machine":"aptp2lc9a001","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"Orderfunnel","EffectiveUserId":"unknown","Timestamp":"1429667227225","Layer":"substrate-service","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","Namespace":"ORDERFUNNEL","EndTime":"1429667227225","RemoteAddress":"172.25.28.35","CustomerKey":"unknown"} 2015-04-22 01:47:07.230 [http-bio-8880-exec-2437] INFO com.efx.pet.AUDIT_EVENT-[SessionId=2F9089F20D940E85422CC7F8AD338BE0, ExperienceId=]-[order-funnel:substrate]-{"EventName":"ORDER_FUNNEL_START","SessionId":"2F9089F20D940E85422CC7F8AD338BE0","EventStatus":"BEGIN","Brand":"EFX","Channel":"Web","param_FunnelInitContext":"guid: f1180768-373f-41ae-b42d-d0c81f0aeb39 template: USFourStepTemplate lastUpdate: null","UserAgent":"Wget/1.11.4","EventId":"2dd641b0-027c-4bfd-ab9d-f5ba6630c6fb","Logger":"OrderfunnelInstanceController","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","param_InstanceGuid":"f1180768-373f-41ae-b42d-d0c81f0aeb39","AppName":"Orderfunnel","StartTime":"1429667227229","Version":"1.0","Partner":"EFX","Tenant":"US","Domain":"order-funnel","Product":"C7B4477E-4CCB-41F2-AB14-4F6B76372412","Machine":"aptp2lc9a001","param_Extrinsics":"{EXPERIENCE_ID=70A3636C-7DA0-47AC-81ED-78D308B8B7F2}","param_TemplateName":"USFourStepTemplate","param_PropositionUrl":"http://aptp2lc9a001.app.c9.equifax.com:8880/orderfunnel/US/f1180768-373f-41ae-b42d-d0c81f0aeb39/C7B4477E-4CCB-41F2-AB14-4F6B76372412/","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"Orderfunnel","EffectiveUserId":"unknown","Timestamp":"1429667227229","Layer":"substrate","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","Namespace":"ORDERFUNNEL","RemoteAddress":"172.25.28.35","CustomerKey":"unknown"} 2015-04-22 01:48:07.318 [http-bio-8880-exec-2451] INFO com.efx.pet.AUDIT_EVENT-[SessionId=DDDE230A48A3E17C3649D68936F97FDB, ExperienceId=]-[aof-instance:substrate-service]-{"EventName":"FIND_INSTANCE_BY_GUID","SessionId":"DDDE230A48A3E17C3649D68936F97FDB","EventStatus":"BEGIN","Brand":"EFX","Channel":"Service","UserAgent":"Wget/1.11.4","EventId":"a74a3760-168f-4c96-ac48-74a08d6b75d8","Logger":"OrdefunnelInstanceResolverImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"Orderfunnel","StartTime":"1429667287317","Version":"1.0","Partner":"EFX","Tenant":"US","Domain":"aof-instance","Product":"C7B4477E-4CCB-41F2-AB14-4F6B76372412","Machine":"aptp2lc9a001","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"Orderfunnel","EffectiveUserId":"unknown","Timestamp":"1429667287317","Layer":"substrate-service","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","Namespace":"ORDERFUNNEL","EndTime":"1429667287317","RemoteAddress":"172.25.28.35","CustomerKey":"unknown"} 2015-04-22 01:48:07.329 [http-bio-8880-exec-2451] INFO com.efx.pet.AUDIT_EVENT-[SessionId=DDDE230A48A3E17C3649D68936F97FDB, ExperienceId=]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"DDDE230A48A3E17C3649D68936F97FDB","EventStatus":"BEGIN","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"a34f0262-90f8-4d54-96ab-02fa1b6a8e8b","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667287318","Version":"1.0","Partner":"EFX","Tenant":"EFX","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667287329","Layer":"service-client","TransactionId":"9010d943-e6b4-49b1-9e0a-1df8326d6be0","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"172.25.28.35","CustomerKey":"unknown"} 2015-04-22 01:48:07.330 [http-bio-8880-exec-2451] INFO com.efx.pet.AUDIT_EVENT-[SessionId=DDDE230A48A3E17C3649D68936F97FDB, ExperienceId=]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"DDDE230A48A3E17C3649D68936F97FDB","EventStatus":"IN_PROGRESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"a34f0262-90f8-4d54-96ab-02fa1b6a8e8b","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667287318","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667287329","Layer":"service-client","TransactionId":"9010d943-e6b4-49b1-9e0a-1df8326d6be0","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"172.25.28.35","CustomerKey":"unknown"} 2015-04-22 01:48:07.357 [http-bio-8880-exec-2451] INFO com.efx.pet.AUDIT_EVENT-[SessionId=DDDE230A48A3E17C3649D68936F97FDB, ExperienceId=]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"DDDE230A48A3E17C3649D68936F97FDB","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"a34f0262-90f8-4d54-96ab-02fa1b6a8e8b","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667287318","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667287357","Layer":"service-client","TransactionId":"9010d943-e6b4-49b1-9e0a-1df8326d6be0","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"172.25.28.35","CustomerKey":"unknown"} 2015-04-22 01:48:07.358 [http-bio-8880-exec-2451] INFO com.efx.pet.AUDIT_EVENT-[SessionId=DDDE230A48A3E17C3649D68936F97FDB, ExperienceId=]-[aof-instance:substrate-service]-{"EventName":"FIND_INSTANCE_BY_GUID","SessionId":"DDDE230A48A3E17C3649D68936F97FDB","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"Service","UserAgent":"Wget/1.11.4","EventId":"a74a3760-168f-4c96-ac48-74a08d6b75d8","Logger":"OrdefunnelInstanceResolverImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"Orderfunnel","StartTime":"1429667287317","Version":"1.0","Partner":"EFX","Tenant":"US","Domain":"aof-instance","Product":"C7B4477E-4CCB-41F2-AB14-4F6B76372412","Machine":"aptp2lc9a001","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"Orderfunnel","EffectiveUserId":"unknown","Timestamp":"1429667287358","Layer":"substrate-service","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","Namespace":"ORDERFUNNEL","EndTime":"1429667287358","RemoteAddress":"172.25.28.35","CustomerKey":"unknown"} 2015-04-22 01:48:07.362 [http-bio-8880-exec-2451] INFO com.efx.pet.AUDIT_EVENT-[SessionId=DDDE230A48A3E17C3649D68936F97FDB, ExperienceId=]-[order-funnel:substrate]-{"EventName":"ORDER_FUNNEL_START","SessionId":"DDDE230A48A3E17C3649D68936F97FDB","EventStatus":"BEGIN","Brand":"EFX","Channel":"Web","param_FunnelInitContext":"guid: f1180768-373f-41ae-b42d-d0c81f0aeb39 template: USFourStepTemplate lastUpdate: null","UserAgent":"Wget/1.11.4","EventId":"2a1f7041-d283-42e0-a4d2-6aeb435702d5","Logger":"OrderfunnelInstanceController","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","param_InstanceGuid":"f1180768-373f-41ae-b42d-d0c81f0aeb39","AppName":"Orderfunnel","StartTime":"1429667287362","Version":"1.0","Partner":"EFX","Tenant":"US","Domain":"order-funnel","Product":"C7B4477E-4CCB-41F2-AB14-4F6B76372412","Machine":"aptp2lc9a001","param_Extrinsics":"{EXPERIENCE_ID=C3998066-1648-40C3-A48E-3396FA4DD075}","param_TemplateName":"USFourStepTemplate","param_PropositionUrl":"http://aptp2lc9a001.app.c9.equifax.com:8880/orderfunnel/US/f1180768-373f-41ae-b42d-d0c81f0aeb39/C7B4477E-4CCB-41F2-AB14-4F6B76372412/","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"Orderfunnel","EffectiveUserId":"unknown","Timestamp":"1429667287362","Layer":"substrate","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","Namespace":"ORDERFUNNEL","RemoteAddress":"172.25.28.35","CustomerKey":"unknown"} 2015-04-22 01:48:54.985 [http-bio-8880-exec-2448] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=]-[aof-instance:substrate-service]-{"EventName":"FIND_INSTANCE_BY_GUID","SessionId":"943A59749B3AD868435411680B0B6F82","EventStatus":"BEGIN","Brand":"EFX","Channel":"Service","UserAgent":"Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko","EventId":"41a7e8a4-198e-40c5-acc3-b5a87cbd0e94","Logger":"OrdefunnelInstanceResolverImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"Orderfunnel","StartTime":"1429667334984","Version":"1.0","Partner":"EFX","Tenant":"US","Domain":"aof-instance","Product":"E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56","Machine":"aptp2lc9a001","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"Orderfunnel","EffectiveUserId":"unknown","Timestamp":"1429667334984","Layer":"substrate-service","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","Namespace":"ORDERFUNNEL","EndTime":"1429667334984","RemoteAddress":"71.75.35.207","CustomerKey":"unknown"} 2015-04-22 01:48:54.996 [http-bio-8880-exec-2448] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"943A59749B3AD868435411680B0B6F82","EventStatus":"BEGIN","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"2eb09fea-2565-4cd2-abfe-f74e15183a3d","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667334985","Version":"1.0","Partner":"EFX","Tenant":"EFX","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667334996","Layer":"service-client","TransactionId":"0de210e0-4891-4139-beba-46f18fa790ea","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"71.75.35.207","CustomerKey":"unknown"} 2015-04-22 01:48:54.997 [http-bio-8880-exec-2448] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"943A59749B3AD868435411680B0B6F82","EventStatus":"IN_PROGRESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"2eb09fea-2565-4cd2-abfe-f74e15183a3d","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667334985","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667334997","Layer":"service-client","TransactionId":"0de210e0-4891-4139-beba-46f18fa790ea","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"71.75.35.207","CustomerKey":"unknown"} 2015-04-22 01:48:55.024 [http-bio-8880-exec-2448] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"943A59749B3AD868435411680B0B6F82","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"2eb09fea-2565-4cd2-abfe-f74e15183a3d","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667334985","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667335023","Layer":"service-client","TransactionId":"0de210e0-4891-4139-beba-46f18fa790ea","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"71.75.35.207","CustomerKey":"unknown"} 2015-04-22 01:48:55.024 [http-bio-8880-exec-2448] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=]-[aof-instance:substrate-service]-{"EventName":"FIND_INSTANCE_BY_GUID","SessionId":"943A59749B3AD868435411680B0B6F82","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"Service","UserAgent":"Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko","EventId":"41a7e8a4-198e-40c5-acc3-b5a87cbd0e94","Logger":"OrdefunnelInstanceResolverImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"Orderfunnel","StartTime":"1429667334984","Version":"1.0","Partner":"EFX","Tenant":"US","Domain":"aof-instance","Product":"E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56","Machine":"aptp2lc9a001","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"Orderfunnel","EffectiveUserId":"unknown","Timestamp":"1429667335024","Layer":"substrate-service","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","Namespace":"ORDERFUNNEL","EndTime":"1429667335024","RemoteAddress":"71.75.35.207","CustomerKey":"unknown"} 2015-04-22 01:48:55.028 [http-bio-8880-exec-2448] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=]-[order-funnel:substrate]-{"EventName":"ORDER_FUNNEL_START","SessionId":"943A59749B3AD868435411680B0B6F82","EventStatus":"BEGIN","Brand":"EFX","Channel":"Web","param_FunnelInitContext":"guid: 7b5b72a0-a7cd-45e4-8008-cf4d3c08d61b template: USLegacyPlusTemplate lastUpdate: null","UserAgent":"Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko","EventId":"43992979-6490-46bf-a5fd-54b2dbe9363f","Logger":"OrderfunnelInstanceController","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","param_CSC":"W14upd11","param_InstanceGuid":"7b5b72a0-a7cd-45e4-8008-cf4d3c08d61b","AppName":"Orderfunnel","StartTime":"1429667335028","Version":"1.0","Partner":"EFX","Tenant":"US","Domain":"order-funnel","Product":"E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56","Machine":"aptp2lc9a001","param_Extrinsics":"{product=W14upd11_uplanr, EXPERIENCE_ID=DDBA4216-0128-450C-9F9F-39FD59D79BE4, source=HomePage, mboxSession=1429666112700-901115, campaign=UPLAN1995, s_tnt=185050:1:0#/personal-information, legacy=W14upd11_uplanr}","param_LegacyParam":"W14upd11_uplanr","param_TemplateName":"USLegacyPlusTemplate","param_PropositionUrl":"http://shop.equifax.com/orderfunnel/US/7b5b72a0-a7cd-45e4-8008-cf4d3c08d61b/E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56/?legacy=W14upd11_uplanr&campaign=UPLAN1995&product=W14upd11_uplanr&source=HomePage&mboxSession=1429666112700-901115&s_tnt=185050:1:0#/personal-information","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"Orderfunnel","EffectiveUserId":"unknown","Timestamp":"1429667335028","Layer":"substrate","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","Namespace":"ORDERFUNNEL","RemoteAddress":"71.75.35.207","CustomerKey":"unknown"} 2015-04-22 01:48:55.400 [http-bio-8880-exec-2450] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=DDBA4216-0128-450C-9F9F-39FD59D79BE4]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"unknown","EventStatus":"BEGIN","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"13567e0a-5e3f-4108-9d9b-824e461ede78","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667335389","Version":"1.0","Partner":"EFX","Tenant":"EFX","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667335399","Layer":"service-client","TransactionId":"767504bc-f50b-4935-8c12-6e04a9130f83","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:48:55.400 [http-bio-8880-exec-2450] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=DDBA4216-0128-450C-9F9F-39FD59D79BE4]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"unknown","EventStatus":"IN_PROGRESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"13567e0a-5e3f-4108-9d9b-824e461ede78","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667335389","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667335400","Layer":"service-client","TransactionId":"767504bc-f50b-4935-8c12-6e04a9130f83","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:48:55.425 [http-bio-8880-exec-2450] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=DDBA4216-0128-450C-9F9F-39FD59D79BE4]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"unknown","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"13567e0a-5e3f-4108-9d9b-824e461ede78","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667335389","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667335425","Layer":"service-client","TransactionId":"767504bc-f50b-4935-8c12-6e04a9130f83","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:48:55.437 [http-bio-8880-exec-2450] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=DDBA4216-0128-450C-9F9F-39FD59D79BE4]-[order-management:service-client]-{"EventName":"ORDER_MANAGEMENT_GET_PRODUCT_OFFER_SET","SessionId":"unknown","EventStatus":"BEGIN","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"ae962b10-2f8f-4338-9a2d-00f4e579f129","Logger":"OrderManagementRestClientImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667335426","Version":"1.0","Partner":"EFX","Tenant":"EFX","Domain":"order-management","Product":"unknown","Machine":"aptp2lc9a001","Message":"getProductOfferSet","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667335436","Layer":"service-client","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:48:55.437 [http-bio-8880-exec-2450] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=DDBA4216-0128-450C-9F9F-39FD59D79BE4]-[order-management:service-client]-{"EventName":"ORDER_MANAGEMENT_GET_PRODUCT_OFFER_SET","SessionId":"unknown","EventStatus":"IN_PROGRESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"ae962b10-2f8f-4338-9a2d-00f4e579f129","Logger":"OrderManagementRestClientImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667335426","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-management","Product":"unknown","Machine":"aptp2lc9a001","Message":"getProductOfferSet","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667335437","Layer":"service-client","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:48:55.459 [http-bio-8880-exec-2450] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=DDBA4216-0128-450C-9F9F-39FD59D79BE4]-[order-management:service-client]-{"EventName":"ORDER_MANAGEMENT_GET_PRODUCT_OFFER_SET","SessionId":"unknown","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"ae962b10-2f8f-4338-9a2d-00f4e579f129","Logger":"OrderManagementRestClientImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667335426","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-management","Product":"unknown","Machine":"aptp2lc9a001","Message":"getProductOfferSet","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667335458","Layer":"service-client","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:48:55.477 [http-bio-8880-exec-2450] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=DDBA4216-0128-450C-9F9F-39FD59D79BE4]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"unknown","EventStatus":"BEGIN","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"3d492350-c8f7-48c0-bb35-5219b210a2ca","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667335461","Version":"1.0","Partner":"EFX","Tenant":"EFX","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667335477","Layer":"service-client","TransactionId":"10cd20d2-c879-4bd8-add6-26d5d20eb239","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:48:55.478 [http-bio-8880-exec-2450] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=DDBA4216-0128-450C-9F9F-39FD59D79BE4]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"unknown","EventStatus":"IN_PROGRESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"3d492350-c8f7-48c0-bb35-5219b210a2ca","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667335461","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667335477","Layer":"service-client","TransactionId":"10cd20d2-c879-4bd8-add6-26d5d20eb239","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:48:55.510 [http-bio-8880-exec-2450] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=DDBA4216-0128-450C-9F9F-39FD59D79BE4]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"unknown","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"3d492350-c8f7-48c0-bb35-5219b210a2ca","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667335461","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667335509","Layer":"service-client","TransactionId":"10cd20d2-c879-4bd8-add6-26d5d20eb239","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:48:55.523 [http-bio-8880-exec-2450] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=DDBA4216-0128-450C-9F9F-39FD59D79BE4]-[order-management:service-client]-{"EventName":"ORDER_MANAGEMENT_GET_PRODUCT_OFFER_SET","SessionId":"unknown","EventStatus":"BEGIN","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"cbefce23-1307-44b1-b423-e8c3984ee271","Logger":"OrderManagementRestClientImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667335511","Version":"1.0","Partner":"EFX","Tenant":"EFX","Domain":"order-management","Product":"unknown","Machine":"aptp2lc9a001","Message":"getProductOfferSet","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667335522","Layer":"service-client","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:48:55.523 [http-bio-8880-exec-2450] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=DDBA4216-0128-450C-9F9F-39FD59D79BE4]-[order-management:service-client]-{"EventName":"ORDER_MANAGEMENT_GET_PRODUCT_OFFER_SET","SessionId":"unknown","EventStatus":"IN_PROGRESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"cbefce23-1307-44b1-b423-e8c3984ee271","Logger":"OrderManagementRestClientImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667335511","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-management","Product":"unknown","Machine":"aptp2lc9a001","Message":"getProductOfferSet","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667335523","Layer":"service-client","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:48:55.544 [http-bio-8880-exec-2450] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=DDBA4216-0128-450C-9F9F-39FD59D79BE4]-[order-management:service-client]-{"EventName":"ORDER_MANAGEMENT_GET_PRODUCT_OFFER_SET","SessionId":"unknown","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"cbefce23-1307-44b1-b423-e8c3984ee271","Logger":"OrderManagementRestClientImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667335511","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-management","Product":"unknown","Machine":"aptp2lc9a001","Message":"getProductOfferSet","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667335544","Layer":"service-client","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:48:56.496 [http-bio-8880-exec-2447] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=DDBA4216-0128-450C-9F9F-39FD59D79BE4]-[workflow-service:rest-client]-{"EventName":"BEGIN","SessionId":"943A59749B3AD868435411680B0B6F82","EventStatus":"BEGIN","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"c603b9c2-f477-40b3-99f6-ceb35dd2fd67","Logger":"WorkflowRestClient","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667336485","Version":"1.0","Partner":"EFX","Tenant":"US","Domain":"workflow-service","Product":"unknown","Machine":"aptp2lc9a001","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667336495","Layer":"rest-client","TransactionId":"22eae94f-e1f8-4c74-a8c6-629510cc11bc","Env":"PROD","ConversationId":"START_ORDER_FUNNEL_LEGACY_PLUS - initial","Division":"DOMAIN2","ExperienceId":"DDBA4216-0128-450C-9F9F-39FD59D79BE4","Namespace":"ORDERFUNNEL","RemoteAddress":"71.75.35.207","CustomerKey":"unknown"} 2015-04-22 01:48:56.496 [http-bio-8880-exec-2447] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=DDBA4216-0128-450C-9F9F-39FD59D79BE4]-[workflow-service:rest-client]-{"EventName":"BEGIN","SessionId":"943A59749B3AD868435411680B0B6F82","EventStatus":"IN_PROGRESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"c603b9c2-f477-40b3-99f6-ceb35dd2fd67","Logger":"WorkflowRestClient","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667336485","Version":"1.0","Partner":"EFX","Tenant":"US","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"workflow-service","Product":"unknown","Machine":"aptp2lc9a001","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667336496","Layer":"rest-client","TransactionId":"22eae94f-e1f8-4c74-a8c6-629510cc11bc","Env":"PROD","ConversationId":"START_ORDER_FUNNEL_LEGACY_PLUS - initial","Division":"DOMAIN2","ExperienceId":"DDBA4216-0128-450C-9F9F-39FD59D79BE4","Namespace":"ORDERFUNNEL","RemoteAddress":"71.75.35.207","CustomerKey":"unknown"} 2015-04-22 01:48:56.723 [http-bio-8880-exec-2447] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=DDBA4216-0128-450C-9F9F-39FD59D79BE4]-[workflow-service:rest-client]-{"EventName":"BEGIN","SessionId":"943A59749B3AD868435411680B0B6F82","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"c603b9c2-f477-40b3-99f6-ceb35dd2fd67","Logger":"WorkflowRestClient","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667336485","Version":"1.0","Partner":"EFX","Tenant":"US","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"workflow-service","Product":"unknown","Machine":"aptp2lc9a001","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667336723","Layer":"rest-client","TransactionId":"22eae94f-e1f8-4c74-a8c6-629510cc11bc","Env":"PROD","ConversationId":"START_ORDER_FUNNEL_LEGACY_PLUS - initial","Division":"DOMAIN2","ExperienceId":"DDBA4216-0128-450C-9F9F-39FD59D79BE4","Namespace":"ORDERFUNNEL","RemoteAddress":"71.75.35.207","CustomerKey":"unknown"} 2015-04-22 01:48:56.728 [http-bio-8880-exec-2447] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=DDBA4216-0128-450C-9F9F-39FD59D79BE4]-[order-funnel:substrate]-{"EventName":"ORDER_FUNNEL_PAGE_CHANGE","SessionId":"943A59749B3AD868435411680B0B6F82","EventStatus":"IN_PROGRESS","Brand":"EFX","Channel":"Web","UserAgent":"Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko","EventId":"cc70983e-4658-49aa-b01b-68da04df9a4e","param_ChangeEndOrderContext":"09c5bf4e-f336-4f15-b048-a20946230407Collect_Wallet_Dataworkflow2.05217409UI5217367","Logger":"OrderfunnelProcessController","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","param_CSC":"W14upd11","param_InstanceGuid":"7b5b72a0-a7cd-45e4-8008-cf4d3c08d61b","param_ChangeEndStep":"Collect_Wallet_Data","AppName":"Orderfunnel","StartTime":"1429667336728","Version":"1.0","Partner":"EFX","Tenant":"US","param_ChangeStartStep":"BEGIN","Domain":"order-funnel","Product":"E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56","Machine":"aptp2lc9a001","param_Extrinsics":"{product=W14upd11_uplanr, EXPERIENCE_ID=DDBA4216-0128-450C-9F9F-39FD59D79BE4, source=HomePage, mboxSession=1429666112700-901115, campaign=UPLAN1995, s_tnt=185050:1:0#/personal-information, legacy=W14upd11_uplanr}","param_LegacyParam":"W14upd11_uplanr","param_TemplateName":"USLegacyPlusTemplate","Locale":"en_US","EventType":"ORDER_ENTRY","ModuleName":"Orderfunnel","EffectiveUserId":"unknown","Timestamp":"1429667336728","Layer":"substrate","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","param_ChangeEndStatus":"WAITING","Division":"DOMAIN2","Namespace":"ORDERFUNNEL","RemoteAddress":"71.75.35.207","param_ChangeStartOrderContext":"BEGIN","CustomerKey":"unknown"} 2015-04-22 01:48:56.847 [http-bio-8880-exec-2448] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=DDBA4216-0128-450C-9F9F-39FD59D79BE4]-[order-funnel-instance:browser]-{"EventName":"ORDER_FUNNEL_START","SessionId":"943A59749B3AD868435411680B0B6F82","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"c3a67c10-f6d3-4ec8-9cd9-084472874677","Logger":"AuditController","param_ipAddress":"71.75.35.207","param_referer":"https://shop.equifax.com/orderfunnel/7b5b72a0-a7cd-45e4-8008-cf4d3c08d61b/E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56/?legacy=W14upd11_uplanr&campaign=UPLAN1995&product=W14upd11_uplanr&source=HomePage&mboxSession=1429666112700-901115&s_tnt=185050:1:0","Offer":"E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667336846","Version":"1.0","Partner":"EFX","Tenant":"EFX","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"US Four-Step Legacy Plus, step 0. Funnel instance:\n7b5b72a0-a7cd-45e4-8008-cf4d3c08d61b. Offer: E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56","param_userAgent":"Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko","Locale":"English (United States)","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667336847","Layer":"browser","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"DDBA4216-0128-450C-9F9F-39FD59D79BE4","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:48:56.849 [http-bio-8880-exec-2446] INFO com.efx.pet.AUDIT_EVENT-[SessionId=943A59749B3AD868435411680B0B6F82, ExperienceId=DDBA4216-0128-450C-9F9F-39FD59D79BE4]-[order-funnel-instance:browser]-{"EventName":"INITIAL_PRODUCT_OFFER","SessionId":"943A59749B3AD868435411680B0B6F82","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"f93ac6c1-04ed-4ffa-98ab-809a50e2f9a5","Logger":"AuditController","param_ipAddress":"71.75.35.207","param_referer":"https://shop.equifax.com/orderfunnel/7b5b72a0-a7cd-45e4-8008-cf4d3c08d61b/E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56/?legacy=W14upd11_uplanr&campaign=UPLAN1995&product=W14upd11_uplanr&source=HomePage&mboxSession=1429666112700-901115&s_tnt=185050:1:0","Offer":"E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667336848","Version":"1.0","Partner":"EFX","Tenant":"EFX","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"US Four-Step Legacy Plus, Collect_Wallet_Data page, browser event -\nInitial Product: UPLAN, Initial Offer: 19.95","param_userAgent":"Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko","Locale":"English (United States)","EventType":"USER_INTERACTION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667336849","Layer":"browser","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","param_cartDisplayedOffers":"[]","Division":"DOMAIN2","ExperienceId":"DDBA4216-0128-450C-9F9F-39FD59D79BE4","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:48:58.175 [http-bio-8880-exec-2451] INFO com.efx.pet.AUDIT_EVENT-[SessionId=6F1CB2A4F61423F9EFCA412463A8F4B2, ExperienceId=]-[aof-instance:substrate-service]-{"EventName":"FIND_INSTANCE_BY_GUID","SessionId":"6F1CB2A4F61423F9EFCA412463A8F4B2","EventStatus":"BEGIN","Brand":"EFX","Channel":"Service","UserAgent":"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36","EventId":"aff11b9f-2273-4072-b88a-298c68a371b6","Logger":"OrdefunnelInstanceResolverImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"Orderfunnel","StartTime":"1429667338174","Version":"1.0","Partner":"EFX","Tenant":"US","Domain":"aof-instance","Product":"E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56","Machine":"aptp2lc9a001","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"Orderfunnel","EffectiveUserId":"unknown","Timestamp":"1429667338174","Layer":"substrate-service","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","Namespace":"ORDERFUNNEL","EndTime":"1429667338174","RemoteAddress":"146.135.4.95","CustomerKey":"unknown"} 2015-04-22 01:48:58.201 [http-bio-8880-exec-2451] INFO com.efx.pet.AUDIT_EVENT-[SessionId=6F1CB2A4F61423F9EFCA412463A8F4B2, ExperienceId=]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"6F1CB2A4F61423F9EFCA412463A8F4B2","EventStatus":"BEGIN","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"a13e9636-ca65-4da6-9f57-b4794c532878","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667338175","Version":"1.0","Partner":"EFX","Tenant":"EFX","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667338186","Layer":"service-client","TransactionId":"58611d9f-bcc1-4dad-a3b9-e6119282dea7","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"146.135.4.95","CustomerKey":"unknown"} 2015-04-22 01:48:58.201 [http-bio-8880-exec-2451] INFO com.efx.pet.AUDIT_EVENT-[SessionId=6F1CB2A4F61423F9EFCA412463A8F4B2, ExperienceId=]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"6F1CB2A4F61423F9EFCA412463A8F4B2","EventStatus":"IN_PROGRESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"a13e9636-ca65-4da6-9f57-b4794c532878","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667338175","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667338201","Layer":"service-client","TransactionId":"58611d9f-bcc1-4dad-a3b9-e6119282dea7","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"146.135.4.95","CustomerKey":"unknown"} 2015-04-22 01:48:58.230 [http-bio-8880-exec-2451] INFO com.efx.pet.AUDIT_EVENT-[SessionId=6F1CB2A4F61423F9EFCA412463A8F4B2, ExperienceId=]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"6F1CB2A4F61423F9EFCA412463A8F4B2","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"a13e9636-ca65-4da6-9f57-b4794c532878","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667338175","Version":"1.0","Partner":"EFX","Tenant":"EFX","Reason":"StratusRestXmlClientBase: onCall: Connect","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667338230","Layer":"service-client","TransactionId":"58611d9f-bcc1-4dad-a3b9-e6119282dea7","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"146.135.4.95","CustomerKey":"unknown"} 2015-04-22 01:48:58.231 [http-bio-8880-exec-2451] INFO com.efx.pet.AUDIT_EVENT-[SessionId=6F1CB2A4F61423F9EFCA412463A8F4B2, ExperienceId=]-[aof-instance:substrate-service]-{"EventName":"FIND_INSTANCE_BY_GUID","SessionId":"6F1CB2A4F61423F9EFCA412463A8F4B2","EventStatus":"END_SUCCESS","Brand":"EFX","Channel":"Service","UserAgent":"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36","EventId":"aff11b9f-2273-4072-b88a-298c68a371b6","Logger":"OrdefunnelInstanceResolverImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"Orderfunnel","StartTime":"1429667338174","Version":"1.0","Partner":"EFX","Tenant":"US","Domain":"aof-instance","Product":"E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56","Machine":"aptp2lc9a001","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"Orderfunnel","EffectiveUserId":"unknown","Timestamp":"1429667338231","Layer":"substrate-service","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","Namespace":"ORDERFUNNEL","EndTime":"1429667338231","RemoteAddress":"146.135.4.95","CustomerKey":"unknown"} 2015-04-22 01:48:58.235 [http-bio-8880-exec-2451] INFO com.efx.pet.AUDIT_EVENT-[SessionId=6F1CB2A4F61423F9EFCA412463A8F4B2, ExperienceId=]-[order-funnel:substrate]-{"EventName":"ORDER_FUNNEL_START","SessionId":"6F1CB2A4F61423F9EFCA412463A8F4B2","EventStatus":"BEGIN","Brand":"EFX","Channel":"Web","param_FunnelInitContext":"guid: f1180768-373f-41ae-b42d-d0c81f0aeb39 template: USFourStepTemplate lastUpdate: null","UserAgent":"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36","EventId":"946c914b-a7d4-45f8-9c6b-c43c90aa7965","Logger":"OrderfunnelInstanceController","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","param_CSC":"W14upd11","param_InstanceGuid":"f1180768-373f-41ae-b42d-d0c81f0aeb39","AppName":"Orderfunnel","StartTime":"1429667338235","Version":"1.0","Partner":"EFX","Tenant":"US","Domain":"order-funnel","Product":"E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56","Machine":"aptp2lc9a001","param_Extrinsics":"{product=W14upd11_uplanr, EXPERIENCE_ID=E7A9D6E2-1A0B-4F3A-94E3-4138C2B77B65, source=HomePage, mboxSession=1429678125089-546863, campaign=UPLAN1995, s_tnt=185050:2:0#/personal-information, legacy=W14upd11_uplanr}","param_LegacyParam":"W14upd11_uplanr","param_TemplateName":"USFourStepTemplate","param_PropositionUrl":"http://shop.equifax.com/orderfunnel/US/f1180768-373f-41ae-b42d-d0c81f0aeb39/E0FC0E93-20A3-4DE3-9EB2-22A44AB2CF56/?legacy=W14upd11_uplanr&campaign=UPLAN1995&product=W14upd11_uplanr&source=HomePage&mboxSession=1429678125089-546863&s_tnt=185050:2:0#/personal-information","Locale":"en_US","EventType":"ORDER_ENTRY","UserId":"unknown","ModuleName":"Orderfunnel","EffectiveUserId":"unknown","Timestamp":"1429667338235","Layer":"substrate","TransactionId":"unknown","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","Namespace":"ORDERFUNNEL","RemoteAddress":"146.135.4.95","CustomerKey":"unknown"} 2015-04-22 01:48:58.484 [http-bio-8880-exec-2439] INFO com.efx.pet.AUDIT_EVENT-[SessionId=6F1CB2A4F61423F9EFCA412463A8F4B2, ExperienceId=E7A9D6E2-1A0B-4F3A-94E3-4138C2B77B65]-[order-funnel-instance:service-client [ audit-client-error ]]-{"EventName":"ORDER_FUNNEL_INSTANCE_CLIENT_FIND_ORDER_FUNNEL_INSTANCE_BY_GUID","SessionId":"unknown","EventStatus":"BEGIN","Brand":"EFX","Channel":"unknown","UserAgent":"unknown","EventId":"6a4c7fa2-e74e-47ab-ad83-1d25cc718eff","Logger":"OrderFunnelInstanceServiceClientRestImpl","Offer":"EFX","EventLevel":"INFO","Reseller":"EFX","Jvm":"DEFAULT","AppName":"unknown","StartTime":"1429667338473","Version":"1.0","Partner":"EFX","Tenant":"EFX","Domain":"order-funnel-instance","Product":"unknown","Machine":"aptp2lc9a001","Message":"findOrderFunnelInstanceByGuid","Locale":"en_US","EventType":"ADMINISTRATION","UserId":"unknown","ModuleName":"unknown","EffectiveUserId":"unknown","Timestamp":"1429667338483","Layer":"service-client","TransactionId":"5fc6d237-2492-4884-a3a6-deef80a2daf2","Env":"PROD","ConversationId":"unknown","Division":"DOMAIN2","ExperienceId":"unknown","Namespace":"ORDERFUNNEL","RemoteAddress":"unknown","CustomerKey":"unknown"} 2015-04-22 01:48:58.484 [http-bio-8880-exec-2439] INFO com.efx.pet.AUDIT_EVE ================================================ FILE: example-logs/example4 ================================================ level=error ts=2022-09-22T07:46:34.171406833Z caller=main.go:129 msg="Starting Loki" version="(version=, branch=, revision=)" level=warn ts=2022-09-22T07:46:34.171800155Z caller=server.go:239 http=[::]:3100 grpc=[::]:9095 msg="server listening on addresses" level=debug ts=2022-09-22T07:46:34.172389889Z caller=modules.go:504 msg="RulerStorage is not configured in single binary mode and will not be started." level=trace ts=2022-09-22T07:46:34.173343577Z caller=shipper_index_client.go:108 msg="starting boltdb shipper in 0 mode" level=info ts=2022-09-22T07:46:34.173623411Z caller=table_manager.go:171 msg="uploading tables" level=info ts=2022-09-22T07:46:34.177117984Z caller=modules.go:529 msg="RulerStorage is nil. Not starting the ruler." level=info ts=2022-09-22T07:46:34.178200675Z caller=module_service.go:59 msg=initialising module=server level=info ts=2022-09-22T07:46:34.178280264Z caller=module_service.go:59 msg=initialising module=memberlist-kv level=info ts=2022-09-22T07:46:34.178365471Z caller=module_service.go:59 msg=initialising module=store level=info ts=2022-09-22T07:46:34.178778368Z caller=module_service.go:59 msg=initialising module=ingester level=info ts=2022-09-22T07:46:34.179028065Z caller=module_service.go:59 msg=initialising module=ring level=info ts=2022-09-22T07:46:34.179373831Z caller=ring.go:275 msg="ring doesn't exist in KV store yet" level=info ts=2022-09-22T07:46:34.179500448Z caller=client.go:247 msg="value is nil" key=collectors/ring index=1 level=info ts=2022-09-22T07:46:34.179638941Z caller=module_service.go:59 msg=initialising module=table-manager level=info ts=2022-09-22T07:46:34.179966708Z caller=module_service.go:59 msg=initialising module=ingester-querier level=info ts=2022-09-22T07:46:34.179375742Z caller=lifecycler.go:530 msg="not loading tokens from file, tokens file path is empty" level=info ts=2022-09-22T07:46:34.180325822Z caller=lifecycler.go:559 msg="instance not found in ring, adding with no tokens" ring=ingester level=info ts=2022-09-22T07:46:34.180611947Z caller=table_manager.go:324 msg="synching tables" expected_tables=62 level=info ts=2022-09-22T07:46:34.18085029Z caller=lifecycler.go:406 msg="auto-joining cluster after timeout" ring=ingester level=info ts=2022-09-22T07:46:34.181115582Z caller=module_service.go:59 msg=initialising module=distributor level=info ts=2022-09-22T07:46:34.181572591Z caller=loki.go:272 msg="Loki started" level=info ts=2022-09-22T07:47:34.173832745Z caller=table_manager.go:171 msg="uploading tables" level=info ts=2022-09-22T07:48:34.174045463Z caller=table_manager.go:171 msg="uploading tables" level=info ts=2022-09-22T07:48:37.729496146Z caller=table_manager.go:324 msg="synching tables" expected_tables=62 level=info ts=2022-09-22T07:49:34.181855073Z caller=table_manager.go:171 msg="uploading tables" level=info ts=2022-09-22T07:50:34.17982263Z caller=table_manager.go:171 msg="uploading tables" level=info ts=2022-09-22T07:50:34.180242674Z caller=table_manager.go:324 msg="synching tables" expected_tables=62 level=info ts=2022-09-22T07:51:34.173650568Z caller=table_manager.go:171 msg="uploading tables" level=info ts=2022-09-22T07:51:34.173685304Z caller=table_manager.go:208 msg="syncing tables" level=info ts=2022-09-22T07:52:34.174253904Z caller=table_manager.go:171 msg="uploading tables" level=info ts=2022-09-22T07:52:34.180731416Z caller=table_manager.go:324 msg="synching tables" expected_tables=62 level=info ts=2022-09-22T07:53:34.173927559Z caller=table_manager.go:171 msg="uploading tables" level=info ts=2022-09-22T07:54:34.174196077Z caller=table_manager.go:171 msg="uploading tables" level=info ts=2022-09-22T07:54:34.180682409Z caller=table_manager.go:324 msg="synching tables" expected_tables=62 level=info ts=2022-09-22T07:55:34.174247394Z caller=table_manager.go:171 msg="uploading tables" level=info ts=2022-09-22T07:56:34.173888737Z caller=table_manager.go:171 msg="uploading tables" level=info ts=2022-09-22T07:56:34.173927164Z caller=table_manager.go:208 msg="syncing tables" level=info ts=2022-09-22T07:56:34.180396607Z caller=table_manager.go:324 msg="synching tables" expected_tables=62 level=info ts=2022-09-22T07:57:34.174140935Z caller=table_manager.go:171 msg="uploading tables" level=info ts=2022-09-22T07:58:34.173649694Z caller=table_manager.go:171 msg="uploading tables" level=info ts=2022-09-22T07:58:34.180400363Z caller=table_manager.go:324 msg="synching tables" expected_tables=62 level=info ts=2022-09-22T07:59:34.174673066Z caller=table_manager.go:171 msg="uploading tables" level=info ts=2022-09-22T08:00:34.174146762Z caller=table_manager.go:171 msg="uploading tables" level=info ts=2022-09-22T08:00:34.180633584Z caller=table_manager.go:324 msg="synching tables" expected_tables=62 level=info ts=2022-09-22T08:01:34.180379898Z caller=table_manager.go:208 msg="syncing tables" level=info ts=2022-09-22T08:01:34.180406501Z caller=table_manager.go:171 msg="uploading tables" level=info ts=2022-09-22T08:02:34.179299129Z caller=table_manager.go:171 msg="uploading tables" level=info ts=2022-09-22T08:02:34.180722479Z caller=table_manager.go:324 msg="synching tables" expected_tables=62 level=info ts=2022-09-22T08:03:34.173747161Z caller=table_manager.go:171 msg="uploading tables" level=info ts=2022-09-22T08:04:34.173688235Z caller=table_manager.go:171 msg="uploading tables" level=info ts=2022-09-22T08:04:34.18118391Z caller=table_manager.go:324 msg="synching tables" expected_tables=62 level=info ts=2022-09-22T08:05:34.174073357Z caller=table_manager.go:171 msg="uploading tables" level=info ts=2022-09-22T08:06:34.173948908Z caller=table_manager.go:171 msg="uploading tables" level=info ts=2022-09-22T08:06:34.173946105Z caller=table_manager.go:208 msg="syncing tables" level=info ts=2022-09-22T08:06:34.180438646Z caller=table_manager.go:324 msg="synching tables" expected_tables=62 level=info ts=2022-09-22T08:07:34.173754263Z caller=table_manager.go:171 msg="uploading tables" level=info ts=2022-09-22T08:08:34.17419279Z caller=table_manager.go:171 msg="uploading tables" level=info ts=2022-09-22T08:08:34.180660187Z caller=table_manager.go:324 msg="synching tables" expected_tables=62 level=info ts=2022-09-22T08:09:34.179718027Z caller=table_manager.go:171 msg="uploading tables" ================================================ FILE: example-logs/example5 ================================================ 2022-08-29 08:10:00 | INFO | MessageMonitor: Outgoing message process already started for thread [4] 2022-08-29 08:10:00 | INFO | New ProcessId [c66a5398-2aa5-11ec-8631-0242ac110089] for user 123456 2022-08-29 08:11:00 | TRACE | User 123456 has [0] new messages 2022-08-29 08:11:00 | TRACE | Syncing tables and updating modules for user 123456 2022-08-29 08:11:00 | DEBUG | Ping to 192.168.0.1 failed 2022-08-29 08:11:00 | DEBUG | MessageMonitor: Checking outgoing messages on thread [5] 2022-08-29 08:11:00 | DEBUG | MessageMonitor: Checking outgoing messages on thread [4] 2022-08-29 08:11:00 | ERROR | MessageValidator: Could not parse message, input was null 2022-08-29 08:11:01 | ERROR | Could not generate key, "hasMoreResults" was false 2022-08-29 08:11:36 | TRACE | No new messages on queue 5 2022-08-29 08:11:37 | TRACE | No new messages on queue 4 2022-08-29 08:10:00 | INFO | skip non existing resourceDirectory /var/logs 2022-08-29 08:10:00 | INFO | Using JarLifecycleMapping lifecycle mapping for Project 2022-08-29 08:11:00 | INFO | Using "ASCII" encoding to copy filtered resources 2022-08-29 08:11:00 | INFO | Using "ASCII" encoding to copy filtered properties files 2022-08-29 08:11:00 | TRACE | User 123456 has [0] new messages 2022-08-29 08:11:00 | TRACE | Syncing tables and updating modules for user 123456 2022-08-29 08:11:00 | WARN | ProcessId [c66a5398-2aa5-11ec-8631-0242ac110089] finished early 2022-08-29 08:11:36 | WARN | Fetching contact points for user 123456, but no contact points found 2022-08-29 08:11:36 | WARN | POST to https://www.google.com/search?field=value failed 2022-08-29 08:11:00 | DEBUG | Using "ASCII" encoding to copy filtered resources 2022-08-29 08:11:01 | DEBUG | Using "ASCII" encoding to copy filtered properties files 2022-08-29 08:11:00 | INFO | MessageMonitor: Outgoing message process already started for thread [6] 2022-08-29 08:11:36 | INFO | MessageMonitor: Outgoing message process already started for thread [7] 2022-08-29 08:11:36 | INFO | Copying 1 resource 2022-08-29 08:11:37 | INFO | Copying 1 resource ================================================ FILE: flake.nix ================================================ { inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; rust-overlay.url = "github:oxalica/rust-overlay"; }; outputs = { nixpkgs, rust-overlay, ... }: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; overlays = [ rust-overlay.overlays.default ]; }; rust-toolchain = pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml; in { devShells.${system}.default = pkgs.mkShell { packages = [ rust-toolchain ]; }; }; } ================================================ FILE: man/tspin.1 ================================================ '\" t .\" Title: tspin .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.23 .\" Date: 2025-06-08 .\" Manual: tailspin .\" Source: tailspin 5.4.5 .\" Language: English .\" .TH "TSPIN" "1" "2025-06-08" "tailspin 5.4.5" "tailspin" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "NAME" tspin \- A log file highlighter .SH "SYNOPSIS" .sp \fBtspin\fP [\fIOPTION\fP]... [\fIFILE\fP]... .SH "DESCRIPTION" .sp tailspin is a command line tool that highlights log files. .SH "OPTIONS" .sp \fI\-f, \-\-follow\fP .RS 4 Follow (tail) the contents of the file. Always true when using the \fI\-\-follow\-command\fP flag. .RE .sp \fI\-p, \-\-print\fP .RS 4 Print the output to stdout instead of viewing the contents in the pager \fIless\fP. Always true if using stdin. .RE .sp \fI\-\-config\-path\fP \fBCONFIG_PATH\fP .RS 4 Specify the path to a custom configuration file. Defaults to \fBXDG_CONFIG_HOME/tailspin/theme.toml\fP or \fB~/.config/tailspin/theme.toml\fP if not set. .RE .sp \fI\-e, \-\-exec\fP \fBCOMMAND\fP .RS 4 Run command and view the output in a pager. The command traps the interrupt signal to allow for cancelling and resuming follow mode while inside \fIless\fP. .sp .B Example: .br .sp .if n .RS 4 .nf .fam C tspin \-\-listen\-command \*(Aqkubectl logs \-f pod_name\*(Aq .fam .fi .if n .RE .RE .sp \fI\-\-highlight\fP \fBCOLOR1\fP:\fIword1,word2,...\fP \fBCOLOR2\fP:\fIword3,word4,...\fP .RS 4 Highlight the provided comma\-separated words in the specified color. Possible colors are red, green, yellow, blue, magenta, and cyan. .sp .B Example: .br .sp .if n .RS 4 .nf .fam C tspin logfile.txt \-\-highlight red:error,fail \-\-highlight green:success,ok .fam .fi .if n .RE .RE .sp \fI\-\-enable=[HIGHLIGHT_GROUP]\fP .RS 4 Disable all highlighting groups except the ones specified. Comma separated list of groups. Cannot be used with \fB\-\-disable=[HIGHLIGHT_GROUP]\fP. .RE .sp \fI\-\-disable=[HIGHLIGHT_GROUP]\fP .RS 4 Disable the specified highlighting groups. Comma separated list of groups. Cannot be used with \fB\-\-enable=[HIGHLIGHT_GROUP]\fP. .RE .sp \fI\-\-disable\-builtin\-keywords\fP .RS 4 Disables the highlighting of all builtin keyword groups (booleans, severity and REST). .RE .SH "ENVIRONMENT VARIABLES" .sp \fBTAILSPIN_PAGER\fP .RS 4 Set the \fITAILSPIN_PAGER\fP environment variable to override the default pager. The command must include the string \fI[FILE]\fP which will be replaced with the file path internally. For example, \fI"ov \-f [FILE]"\fP. .RE .SH "SEE ALSO" .sp \fBless\fP(1), \fBtail\fP(1) .SH "ABOUT" .sp Ben Sadeh (github.com/bensadeh/tailspin) .sp Released under the MIT License ================================================ FILE: rust-toolchain.toml ================================================ [toolchain] channel = "stable" components = ["rust-src", "rust-analyzer"] ================================================ FILE: rustfmt.toml ================================================ max_width = 120 ================================================ FILE: src/cli/completions.rs ================================================ use crate::cli::Arguments; use clap::{Command, CommandFactory}; use clap_complete::{Generator, Shell, generate}; use std::io; use std::process::exit; pub fn generate_shell_completions_and_exit_or_continue(cli: &Arguments) { let mut cmd = Arguments::command(); if cli.generate_bash_completions { print_completions(Shell::Bash, &mut cmd); exit(0); } if cli.generate_fish_completions { print_completions(Shell::Fish, &mut cmd); exit(0); } if cli.generate_zsh_completions { print_completions(Shell::Zsh, &mut cmd); exit(0); } } fn print_completions(generator: G, cmd: &mut Command) { generate(generator, cmd, cmd.get_name().to_string(), &mut io::stdout()); } ================================================ FILE: src/cli/keywords.rs ================================================ use crate::cli::{Arguments, KeywordColor}; use tailspin::config::KeywordConfig; use tailspin::style::{Color, Style}; pub fn get_keywords_from_cli(cli: &Arguments) -> Vec { cli.color_word .iter() .flat_map(|(color, words)| { words.iter().map(move |word| KeywordConfig { style: Style::new().fg(Color::from(*color)), words: vec![word.clone()], }) }) .collect() } impl From for Color { fn from(value: KeywordColor) -> Self { match value { KeywordColor::Red => Self::Red, KeywordColor::Green => Self::Green, KeywordColor::Yellow => Self::Yellow, KeywordColor::Blue => Self::Blue, KeywordColor::Magenta => Self::Magenta, KeywordColor::Cyan => Self::Cyan, } } } ================================================ FILE: src/cli/mod.rs ================================================ mod completions; mod keywords; mod styles; use crate::cli::completions::generate_shell_completions_and_exit_or_continue; use crate::cli::keywords::get_keywords_from_cli; use crate::cli::styles::get_styles; use crate::config::{Source, Target, get_io_config}; use crate::highlighter_builder; use crate::highlighter_builder::builtins::get_builtin_keywords; use crate::highlighter_builder::groups; use crate::theme::reader; use anyhow::Result; use clap::{Parser, ValueEnum}; use nu_ansi_term::Style; use std::error::Error; use std::io::{IsTerminal, stdin}; use std::path::PathBuf; use tailspin::Highlighter; #[derive(Parser)] #[command( name = "tspin", version, about, author, styles = get_styles(), max_term_width = 105, )] pub struct Arguments { /// Filepath #[clap(name = "FILE", value_hint = clap::ValueHint::FilePath)] pub file_path: Option, /// Follow the contents of a file #[clap(short = 'f', long = "follow")] pub follow: bool, /// Print the output to stdout #[clap(short = 'p', long = "print")] pub to_stdout: bool, /// Provide a custom path to a configuration file #[clap(long = "config-path")] pub config_path: Option, /// Run command and view the output in a pager #[clap(short = 'e', long = "exec")] pub exec: Option, /// Highlights in the form color:word1,word2 /// /// [possible values: red, green, yellow, blue, magenta, cyan] #[arg(long = "highlight", value_parser = parse_highlight)] pub color_word: Vec<(KeywordColor, Vec)>, /// Enable specific highlighters #[clap(long = "enable", value_enum, use_value_delimiter = true)] pub enabled_highlighters: Vec, /// Disable specific highlighters #[clap(long = "disable", value_enum, use_value_delimiter = true)] pub disabled_highlighters: Vec, /// Disable the highlighting of all builtin keyword groups (booleans, nulls, log severities and common REST verbs) #[clap(long = "disable-builtin-keywords")] pub disable_builtin_keywords: bool, /// Override the default pager command used by tspin. (e.g. `--pager="ov -f [FILE]"`) #[clap(long = "pager", env = "TAILSPIN_PAGER")] pub pager: Option, /// Print bash completions to stdout #[clap(long = "generate-bash-completions", hide = true)] pub generate_bash_completions: bool, /// Print fish completions to stdout #[clap(long = "generate-fish-completions", hide = true)] pub generate_fish_completions: bool, /// Print zsh completions to stdout #[clap(long = "generate-zsh-completions", hide = true)] pub generate_zsh_completions: bool, } fn parse_highlight(s: &str) -> Result<(KeywordColor, Vec), Box> { let (color_str, words_str) = s .split_once(':') .ok_or_else(|| format!("Expected format COLOR:word1,word2,... found `{}`", s))?; let color = KeywordColor::from_str(color_str, true)?; let words = words_str.split(',').map(str::to_owned).collect(); Ok((color, words)) } #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, ValueEnum, Hash)] pub enum KeywordColor { Red, Green, Yellow, Blue, Magenta, Cyan, } #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, ValueEnum)] pub enum HighlighterGroup { Numbers, Urls, Pointers, Dates, Paths, Quotes, KeyValuePairs, Uuids, IpAddresses, Processes, Json, } pub struct FullConfig { pub source: Source, pub target: Target, pub highlighter: Highlighter, } pub fn get_config() -> Result { let cli = Arguments::parse(); generate_shell_completions_and_exit_or_continue(&cli); let std_in_has_no_data = stdin().is_terminal(); if cli.file_path.is_none() && cli.exec.is_none() && std_in_has_no_data { let style = Style::new().fg(nu_ansi_term::Color::Cyan); println!("Missing filename ({} for help)", style.paint("tspin --help")); std::process::exit(0); } let io_config = get_io_config(&cli)?; let highlighter_groups = groups::get_highlighter_groups(&cli.enabled_highlighters, &cli.disabled_highlighters)?; let theme = reader::parse_theme(&cli.config_path)?; let keywords_builtin = get_builtin_keywords(cli.disable_builtin_keywords); let keywords_from_toml = theme.keywords.clone(); let keywords_from_cli = get_keywords_from_cli(&cli); let keywords = vec![] .into_iter() .chain(keywords_builtin) .chain(keywords_from_toml) .chain(keywords_from_cli) .collect(); let highlighter = highlighter_builder::get_highlighter(highlighter_groups, theme, keywords)?; Ok(FullConfig { source: io_config.source, target: io_config.target, highlighter, }) } #[test] fn verify_app() { use clap::CommandFactory; Arguments::command().debug_assert() } ================================================ FILE: src/cli/styles.rs ================================================ use clap::builder::{Styles, styling}; use styling::AnsiColor; pub const fn get_styles() -> Styles { Styles::styled() .header(AnsiColor::Magenta.on_default().bold()) .usage(AnsiColor::Green.on_default().bold()) .literal(AnsiColor::Blue.on_default().bold()) .placeholder(AnsiColor::Yellow.on_default()) } ================================================ FILE: src/config/mod.rs ================================================ use crate::cli::Arguments; use nu_ansi_term::Color::{Magenta, Yellow}; use std::cmp::PartialEq; use std::fs; use std::io::{self, IsTerminal, stdin}; use std::path::PathBuf; use thiserror::Error; pub struct InputOutputConfig { pub source: Source, pub target: Target, } #[derive(Ord, PartialOrd, Eq, PartialEq)] pub enum Source { File(FileInfo), Command(String), Stdin, } #[derive(PartialEq, Eq, Ord, PartialOrd)] pub struct FileInfo { pub path: PathBuf, pub terminate_after_first_read: bool, } pub enum Target { Less(LessOptions), CustomPager(CustomPagerOptions), Stdout, } pub struct LessOptions { pub follow: bool, } pub struct CustomPagerOptions { pub command: String, pub args: Vec, } #[derive(Debug, Error)] pub enum ConfigError { #[error("Missing filename ({} for help)", Magenta.paint("tspin --help").to_string())] MissingFilename, #[error("Cannot read from both file and {}", Magenta.paint("--listen-command").to_string())] CannotReadBothFileAndListenCommand, #[error("Could not determine input type")] CouldNotDetermineInputType, #[error("{0}: No such file or directory")] NoSuchFileOrDirectory(String), #[error("Path is not a file")] PathNotFile, #[error("I/O Error: {0}")] Io(#[from] io::Error), #[error("Could not parse custom pager command")] CouldNotParseCustomPagerCommand, } pub fn get_io_config(args: &Arguments) -> Result { let source = get_source(args)?; let target = get_target(args, &source)?; Ok(InputOutputConfig { source, target }) } fn get_source(args: &Arguments) -> Result { let std_in_has_data = !stdin().is_terminal(); if args.file_path.is_none() && !std_in_has_data && args.exec.is_none() { return Err(ConfigError::MissingFilename); } if args.file_path.is_some() && args.exec.is_some() { return Err(ConfigError::CannotReadBothFileAndListenCommand); } if let Some(path) = &args.file_path { let terminate_after_first_read = args.to_stdout && !args.follow; return process_path_input(path.into(), terminate_after_first_read); } if std_in_has_data { return Ok(Source::Stdin); } if let Some(command) = &args.exec { return Ok(Source::Command(command.clone())); } Err(ConfigError::CouldNotDetermineInputType) } fn get_target(args: &Arguments, input: &Source) -> Result { if *input == Source::Stdin || args.to_stdout { return Ok(Target::Stdout); } if let Some(command) = &args.pager { let custom_pager_options = split_custom_pager_command(command)?; return Ok(Target::CustomPager(custom_pager_options)); } let follow_mode = if args.exec.is_some() { true } else { args.follow }; Ok(Target::Less(LessOptions { follow: follow_mode })) } fn split_custom_pager_command(raw_command: &str) -> Result { let raw_args = shell_words::split(raw_command).unwrap_or_default(); let (command, args) = match raw_args.split_first() { Some((first, rest)) if !rest.is_empty() => (first.to_string(), rest.to_vec()), Some(_) => return Err(ConfigError::CouldNotParseCustomPagerCommand), // Command without args None => return Err(ConfigError::CouldNotParseCustomPagerCommand), // Empty args }; Ok(CustomPagerOptions { command, args }) } fn process_path_input(path: PathBuf, terminate_after_first_read: bool) -> Result { if !path.exists() { let path_display = path.display().to_string(); let path_colored = Yellow.paint(path_display).to_string(); return Err(ConfigError::NoSuchFileOrDirectory(path_colored)); } if !fs::metadata(&path)?.is_file() { return Err(ConfigError::PathNotFile); } Ok(Source::File(FileInfo { path, terminate_after_first_read, })) } ================================================ FILE: src/core/config.rs ================================================ use crate::style::{Color, Style}; /// Configuration for highlighting numeric values. #[derive(Clone, Copy)] pub struct NumberConfig { /// Style applied to numbers. pub style: Style, } /// Configuration for highlighting UUIDs. #[derive(Clone, Copy)] pub struct UuidConfig { /// Style applied to numeric characters. pub number: Style, /// Style applied to alphabetic characters. pub letter: Style, /// Style applied to dashes (`-`). pub dash: Style, } /// Configuration for highlighting key-value pairs. #[derive(Clone, Copy)] pub struct KeyValueConfig { /// Style for the key portion. pub key: Style, /// Style for the separator between key and value. pub separator: Style, } /// Configuration for highlighting date-time strings. #[derive(Clone, Copy)] pub struct DateTimeConfig { /// Style for dates. pub date: Style, /// Style for times. pub time: Style, /// Style for timezone indicators. pub zone: Style, /// Style for separators. pub separator: Style, } /// Configuration for highlighting IPv4 addresses. #[derive(Clone, Copy)] pub struct IpV4Config { /// Style for numeric segments. pub number: Style, /// Style for dot separators (`.`). pub separator: Style, } /// Configuration for highlighting IPv6 addresses. #[derive(Clone, Copy)] pub struct IpV6Config { /// Style for numeric characters. pub number: Style, /// Style for alphabetic characters. pub letter: Style, /// Style for colon separators (`:`). pub separator: Style, } /// Configuration for highlighting URLs. #[derive(Clone, Copy)] pub struct UrlConfig { /// Style for "http" scheme. pub http: Style, /// Style for "https" scheme. pub https: Style, /// Style for the hostname. pub host: Style, /// Style for URL paths. pub path: Style, /// Style for query parameter keys. pub query_params_key: Style, /// Style for query parameter values. pub query_params_value: Style, /// Style for URL symbols (e.g., `/`, `:`, `?`). pub symbols: Style, } /// Configuration for highlighting Unix file paths. #[derive(Clone, Copy)] pub struct UnixPathConfig { /// Style for path segments. pub segment: Style, /// Style for path separators (`/`). pub separator: Style, } /// Configuration for highlighting memory pointers. #[derive(Clone, Copy)] pub struct PointerConfig { /// Style for numeric digits. pub number: Style, /// Style for alphabetic characters. pub letter: Style, /// Style for pointer separators. pub separator: Style, /// Token used to separate segments. pub separator_token: char, /// Style for the `x` character in pointers. pub x: Style, } /// Configuration for highlighting Unix processes. #[derive(Clone, Copy)] pub struct UnixProcessConfig { /// Style for process name. pub name: Style, /// Style for process ID. pub id: Style, /// Style for surrounding brackets. pub bracket: Style, } /// Configuration for highlighting JSON structures. #[derive(Clone, Copy)] pub struct JsonConfig { /// Style for JSON keys. pub key: Style, /// Style for quotation marks (`"`). pub quote_token: Style, /// Style for curly brackets (`{}`). pub curly_bracket: Style, /// Style for square brackets (`[]`). pub square_bracket: Style, /// Style for commas (`,`). pub comma: Style, /// Style for colons (`:`). pub colon: Style, } /// Configuration for highlighting quoted text. #[derive(Clone, Copy)] pub struct QuotesConfig { /// ASCII byte used as quote delimiter. pub quotes_token: u8, /// Style applied to quoted text. pub style: Style, } /// Configuration for highlighting custom keywords. #[derive(PartialEq, Eq, Ord, PartialOrd, Debug, Clone)] pub struct KeywordConfig { /// List of keywords to highlight. pub words: Vec, /// Style to apply to the keywords. pub style: Style, } /// Configuration for highlighting custom regex patterns. #[derive(PartialEq, Eq, Ord, PartialOrd, Debug, Clone)] pub struct RegexConfig { /// Regex pattern for matching text. pub regex: String, /// Style applied to regex matches. pub style: Style, } impl Default for NumberConfig { fn default() -> Self { NumberConfig { style: Style::new().fg(Color::Cyan), } } } impl Default for UuidConfig { fn default() -> Self { UuidConfig { number: Style::new().fg(Color::Blue).italic(), letter: Style::new().fg(Color::Magenta).italic(), dash: Style::new().fg(Color::Red), } } } impl Default for KeyValueConfig { fn default() -> Self { KeyValueConfig { key: Style::new().faint(), separator: Style::new().fg(Color::White), } } } impl Default for DateTimeConfig { fn default() -> Self { DateTimeConfig { date: Style::new().fg(Color::Magenta), time: Style::new().fg(Color::Blue), zone: Style::new().fg(Color::Red), separator: Style::new().faint(), } } } impl Default for IpV4Config { fn default() -> Self { IpV4Config { number: Style::new().fg(Color::Blue).italic(), separator: Style::new().fg(Color::Red), } } } impl Default for IpV6Config { fn default() -> Self { IpV6Config { number: Style::new().fg(Color::Blue).italic(), letter: Style::new().fg(Color::Magenta).italic(), separator: Style::new().fg(Color::Red), } } } impl Default for UrlConfig { fn default() -> Self { UrlConfig { http: Style::new().fg(Color::Red).faint(), https: Style::new().fg(Color::Green).faint(), host: Style::new().fg(Color::Blue).faint(), path: Style::new().fg(Color::Blue), query_params_key: Style::new().fg(Color::Magenta), query_params_value: Style::new().fg(Color::Cyan), symbols: Style::new().fg(Color::Red), } } } impl Default for UnixPathConfig { fn default() -> Self { UnixPathConfig { segment: Style::new().fg(Color::Green), separator: Style::new().fg(Color::Yellow), } } } impl Default for PointerConfig { fn default() -> Self { PointerConfig { number: Style::new().fg(Color::Blue).italic(), letter: Style::new().fg(Color::Magenta).italic(), separator: Style::new().faint(), separator_token: '•', x: Style::new().fg(Color::Red), } } } impl Default for UnixProcessConfig { fn default() -> Self { UnixProcessConfig { name: Style::new().fg(Color::Yellow), id: Style::new().fg(Color::Cyan), bracket: Style::new().fg(Color::Red), } } } impl Default for JsonConfig { fn default() -> Self { JsonConfig { key: Style::new().faint(), quote_token: Style::new().faint(), curly_bracket: Style::new().faint(), square_bracket: Style::new().faint(), comma: Style::new().faint(), colon: Style::new().faint(), } } } impl Default for QuotesConfig { fn default() -> Self { QuotesConfig { quotes_token: b'"', style: Style::new().fg(Color::Yellow), } } } ================================================ FILE: src/core/highlighter.rs ================================================ use crate::core::config::*; use crate::core::highlighters::StaticHighlight; use crate::core::highlighters::date_dash::DateDashHighlighter; use crate::core::highlighters::date_time::TimeHighlighter; use crate::core::highlighters::ip_v4::IpV4Highlighter; use crate::core::highlighters::ip_v6::IpV6Highlighter; use crate::core::highlighters::json::JsonHighlighter; use crate::core::highlighters::key_value::KeyValueHighlighter; use crate::core::highlighters::keyword::KeywordHighlighter; use crate::core::highlighters::number::NumberHighlighter; use crate::core::highlighters::pointer::PointerHighlighter; use crate::core::highlighters::quote::QuoteHighlighter; use crate::core::highlighters::regex::RegexpHighlighter; use crate::core::highlighters::unix_path::UnixPathHighlighter; use crate::core::highlighters::unix_process::UnixProcessHighlighter; use crate::core::highlighters::url::UrlHighlighter; use crate::core::highlighters::uuid::UuidHighlighter; use crate::core::utils::normalizer::normalize_keyword_configs; use crate::core::utils::split_and_apply::apply_only_to_unhighlighted; use std::borrow::Cow; use thiserror::Error; /// A regex-based log highlighter. /// /// `Highlighter` applies configured regex-based highlighters to text inputs, /// returning highlighted output with ANSI colors. pub struct Highlighter { highlighters: Vec, } pub trait Highlight: Sync + Send { fn apply<'a>(&self, input: &'a str) -> Cow<'a, str>; } #[derive(Debug, Error)] pub enum Error { #[error("Regex error: {0}")] RegexError(String), #[error("Pattern error: {0}")] PatternError(String), } impl Highlighter { const fn new() -> Self { Highlighter { highlighters: Vec::new(), } } /// Creates a new [`HighlighterBuilder`] for configuring a [`Highlighter`]. pub const fn builder() -> HighlighterBuilder { HighlighterBuilder { highlighters: Vec::new(), first_error: None, } } fn with_highlighters(mut self, highlighters: Vec) -> Self { self.highlighters = highlighters; self } /// Applies the configured highlights to the given input string. pub fn apply<'a>(&self, input: &'a str) -> Cow<'a, str> { self.highlighters.iter().fold(Cow::Borrowed(input), |acc, highlighter| { let result = if highlighter.needs_full_input() { highlighter.apply(&acc) } else { apply_only_to_unhighlighted(&acc, highlighter) }; match result { Cow::Borrowed(_) => acc, Cow::Owned(modified) => Cow::Owned(modified), } }) } } impl Default for Highlighter { /// Creates a default `Highlighter` with common patterns. /// /// This operation is expensive and should be done once and reused. fn default() -> Self { let mut builder = Highlighter::builder(); builder .with_json_highlighter(JsonConfig::default()) .with_date_time_highlighters(DateTimeConfig::default()) .with_url_highlighter(UrlConfig::default()) .with_ip_v4_highlighter(IpV4Config::default()) .with_ip_v6_highlighter(IpV6Config::default()) .with_uuid_highlighter(UuidConfig::default()) .with_pointer_highlighter(PointerConfig::default()) .with_unix_path_highlighter(UnixPathConfig::default()) .with_unix_process_highlighter(UnixProcessConfig::default()) .with_key_value_highlighter(KeyValueConfig::default()) .with_number_highlighter(NumberConfig::default()) .with_quote_highlighter(QuotesConfig::default()); builder.build().expect("Default constructor should never fail") } } /// Builder for configuring a [`Highlighter`]. pub struct HighlighterBuilder { highlighters: Vec, first_error: Option, } impl HighlighterBuilder { /// Adds a highlighter for numbers. pub fn with_number_highlighter(&mut self, config: NumberConfig) -> &mut Self { self.try_add_highlighter(NumberHighlighter::new(config).map(StaticHighlight::Number)); self } /// Adds a highlighter for UUIDs. pub fn with_uuid_highlighter(&mut self, config: UuidConfig) -> &mut Self { self.try_add_highlighter(UuidHighlighter::new(config).map(StaticHighlight::Uuid)); self } /// Adds a highlighter for Unix file paths. pub fn with_unix_path_highlighter(&mut self, config: UnixPathConfig) -> &mut Self { self.try_add_highlighter(UnixPathHighlighter::new(config).map(StaticHighlight::UnixPath)); self } /// Adds a highlighter for Unix processes. pub fn with_unix_process_highlighter(&mut self, config: UnixProcessConfig) -> &mut Self { self.try_add_highlighter(UnixProcessHighlighter::new(config).map(StaticHighlight::UnixProcess)); self } /// Adds a highlighter for key-value pairs. pub fn with_key_value_highlighter(&mut self, config: KeyValueConfig) -> &mut Self { self.try_add_highlighter(KeyValueHighlighter::new(config).map(StaticHighlight::KeyValue)); self } /// Adds highlighters for dates and times. pub fn with_date_time_highlighters(&mut self, config: DateTimeConfig) -> &mut Self { self.try_add_highlighter(TimeHighlighter::new(config).map(StaticHighlight::Time)) .try_add_highlighter(DateDashHighlighter::new(config).map(StaticHighlight::DateDash)) } /// Adds a highlighter for IPv6 addresses. pub fn with_ip_v6_highlighter(&mut self, config: IpV6Config) -> &mut Self { self.try_add_highlighter(IpV6Highlighter::new(config).map(StaticHighlight::IpV6)); self } /// Adds a highlighter for IPv4 addresses. pub fn with_ip_v4_highlighter(&mut self, config: IpV4Config) -> &mut Self { self.try_add_highlighter(IpV4Highlighter::new(config).map(StaticHighlight::IpV4)); self } /// Adds a highlighter for URLs. pub fn with_url_highlighter(&mut self, config: UrlConfig) -> &mut Self { self.try_add_highlighter(UrlHighlighter::new(config).map(StaticHighlight::Url)); self } /// Adds a highlighter for memory pointers. pub fn with_pointer_highlighter(&mut self, config: PointerConfig) -> &mut Self { self.try_add_highlighter(PointerHighlighter::new(config).map(StaticHighlight::Pointer)); self } /// Adds a highlighter using a custom regex pattern. pub fn with_regex_highlighter(&mut self, config: RegexConfig) -> &mut Self { self.try_add_highlighter(RegexpHighlighter::new(config).map(StaticHighlight::Regexp)); self } /// Adds a highlighter for quoted text. pub fn with_quote_highlighter(&mut self, config: QuotesConfig) -> &mut Self { self.try_add_highlighter(Ok(StaticHighlight::Quote(QuoteHighlighter::new(config)))); self } /// Adds a highlighter for JSON structures. pub fn with_json_highlighter(&mut self, config: JsonConfig) -> &mut Self { self.try_add_highlighter(Ok(StaticHighlight::Json(JsonHighlighter::new(config)))); self } /// Adds keyword highlighters. pub fn with_keyword_highlighter(&mut self, keyword_configs: Vec) -> &mut Self { let normalized_keyword_configs = normalize_keyword_configs(keyword_configs); for keyword_config in normalized_keyword_configs { if self.first_error.is_some() { continue; } match KeywordHighlighter::new(keyword_config) { Ok(h) => self.highlighters.push(StaticHighlight::Keyword(h)), Err(e) => self.first_error = Some(Error::PatternError(e.to_string())), } } self } /// Finalizes the builder and returns a configured [`Highlighter`]. pub fn build(self) -> Result { if let Some(err) = self.first_error { Err(err) } else { Ok(Highlighter::new().with_highlighters(self.highlighters)) } } fn try_add_highlighter(&mut self, highlighter: Result) -> &mut Self { if self.first_error.is_some() { return self; } match highlighter { Ok(h) => self.highlighters.push(h), Err(e) => self.first_error = Some(Error::RegexError(e.to_string())), } self } } #[cfg(test)] mod tests { use super::*; use crate::core::tests::escape_code_converter::ConvertEscapeCodes; use crate::style::{Color, Style}; fn number_then_quote_highlighter() -> Highlighter { let mut builder = Highlighter::builder(); builder .with_number_highlighter(NumberConfig { style: Style::new().fg(Color::Cyan), }) .with_quote_highlighter(QuotesConfig { quotes_token: b'"', style: Style::new().fg(Color::Yellow), }); builder.build().unwrap() } #[test] fn test_quote_highlights_around_existing_number() { let highlighter = number_then_quote_highlighter(); let input = r#"count is "value 42 here" end"#; let expected = r#"count is [yellow]"value [cyan]42[reset][yellow] here"[reset] end"#; let actual = highlighter.apply(input); assert_eq!(actual.to_string().convert_escape_codes(), expected); } #[test] fn test_quote_with_no_highlights_inside() { let highlighter = number_then_quote_highlighter(); let input = r#"msg "hello world" end"#; let expected = r#"msg [yellow]"hello world"[reset] end"#; let actual = highlighter.apply(input); assert_eq!(actual.to_string().convert_escape_codes(), expected); } #[test] fn test_number_outside_quotes_unaffected() { let highlighter = number_then_quote_highlighter(); let input = r#"code 200 "error" end"#; let expected = r#"code [cyan]200[reset] [yellow]"error"[reset] end"#; let actual = highlighter.apply(input); assert_eq!(actual.to_string().convert_escape_codes(), expected); } #[test] fn test_multiple_numbers_inside_quotes() { let highlighter = number_then_quote_highlighter(); let input = r#""port 8080 and 443""#; let expected = r#"[yellow]"port [cyan]8080[reset][yellow] and [cyan]443[reset][yellow]"[reset]"#; let actual = highlighter.apply(input); assert_eq!(actual.to_string().convert_escape_codes(), expected); } #[test] fn test_multiple_quoted_segments() { let highlighter = number_then_quote_highlighter(); let input = r#""count 1" and "count 2""#; let expected = r#"[yellow]"count [cyan]1[reset][yellow]"[reset] and [yellow]"count [cyan]2[reset][yellow]"[reset]"#; let actual = highlighter.apply(input); assert_eq!(actual.to_string().convert_escape_codes(), expected); } #[test] fn test_no_quotes_only_numbers() { let highlighter = number_then_quote_highlighter(); let input = "status 200 ok"; let expected = "status [cyan]200[reset] ok"; let actual = highlighter.apply(input); assert_eq!(actual.to_string().convert_escape_codes(), expected); } } ================================================ FILE: src/core/highlighters/date_dash.rs ================================================ use crate::core::config::DateTimeConfig; use crate::core::highlighter::Highlight; use crate::core::highlighters::Painter; use memchr::memchr2; use regex::{Captures, Error, Regex, RegexBuilder}; use std::borrow::Cow; pub struct DateDashHighlighter { regex: Regex, date: Painter, separator: Painter, idx: Idx, } #[derive(Copy, Clone)] struct Idx { // Branch A: YYYY sep first sep2 second a_year: usize, a_sep1: usize, a_first: usize, a_sep2: usize, a_second: usize, // Branch B: first sep second sep2 year b_first: usize, b_sep1: usize, b_second: usize, b_sep2: usize, b_year: usize, } impl DateDashHighlighter { pub fn new(time_config: DateTimeConfig) -> Result { let pattern = r"(?x) # Branch A: YYYY-xx-xx (?P 19\d{2} | 20\d{2} ) (?P [-/] ) (?P 0[1-9] | [12]\d | 3[01] ) (?P [-/] ) (?P 0[1-9] | [12]\d | 3[01] ) | # Branch B: xx-xx-YYYY (?P 0[1-9] | [12]\d | 3[01] ) (?P [-/] ) (?P 0[1-9] | [12]\d | 3[01] ) (?P [-/] ) (?P 19\d{2} | 20\d{2} ) "; let regex = RegexBuilder::new(pattern).unicode(false).build()?; // Resolve capture names → indices once. let mut map = std::collections::HashMap::new(); for (i, name) in regex.capture_names().enumerate() { if let Some(n) = name { map.insert(n.to_string(), i); } } let idx = Idx { a_year: map["a_year"], a_sep1: map["a_sep1"], a_first: map["a_first"], a_sep2: map["a_sep2"], a_second: map["a_second"], b_first: map["b_first"], b_sep1: map["b_sep1"], b_second: map["b_second"], b_sep2: map["b_sep2"], b_year: map["b_year"], }; Ok(Self { regex, idx, date: Painter::new(time_config.date.into()), separator: Painter::new(time_config.separator.into()), }) } #[inline] fn write_branch_a(&self, caps: &Captures<'_>, out: &mut String) { // YYYY sep first sep2 second → keep order (already year-first) let y = caps.get(self.idx.a_year).unwrap().as_str(); let s1 = caps.get(self.idx.a_sep1).unwrap().as_str(); let f = caps.get(self.idx.a_first).unwrap().as_str(); let s2 = caps.get(self.idx.a_sep2).unwrap().as_str(); let s = caps.get(self.idx.a_second).unwrap().as_str(); self.date.paint(out, y); self.separator.paint(out, s1); self.date.paint(out, f); self.separator.paint(out, s2); self.date.paint(out, s); } #[inline] fn write_branch_b(&self, caps: &Captures<'_>, out: &mut String) { // first sep second sep2 YYYY → normalize to year-first: YYYY sep1 first sep2 second let f = caps.get(self.idx.b_first).unwrap().as_str(); let s1 = caps.get(self.idx.b_sep1).unwrap().as_str(); let s = caps.get(self.idx.b_second).unwrap().as_str(); let s2 = caps.get(self.idx.b_sep2).unwrap().as_str(); let y = caps.get(self.idx.b_year).unwrap().as_str(); self.date.paint(out, y); self.separator.paint(out, s1); self.date.paint(out, f); self.separator.paint(out, s2); self.date.paint(out, s); } } impl Highlight for DateDashHighlighter { fn apply<'a>(&self, input: &'a str) -> Cow<'a, str> { if memchr2(b'-', b'/', input.as_bytes()).is_none() { return Cow::Borrowed(input); } let mut out: Option = None; let mut last = 0usize; for caps in self.regex.captures_iter(input) { let m = caps.get(0).unwrap(); let buf = out.get_or_insert_with(|| String::with_capacity(input.len() + 32)); buf.push_str(&input[last..m.start()]); if caps.get(self.idx.a_year).is_some() { self.write_branch_a(&caps, buf); } else { self.write_branch_b(&caps, buf); } last = m.end(); } match out { Some(mut buf) => { buf.push_str(&input[last..]); Cow::Owned(buf) } None => Cow::Borrowed(input), } } } #[cfg(test)] mod tests { use super::*; use crate::core::tests::escape_code_converter::ConvertEscapeCodes; use crate::style::{Color, Style}; #[test] fn test_date_dash_highlighter() { let config = DateTimeConfig { date: Style::new().fg(Color::Magenta), separator: Style::new().fg(Color::Blue), ..DateTimeConfig::default() }; let highlighter = DateDashHighlighter::new(config).unwrap(); let cases = vec![ ( "2022-09-09", "[magenta]2022[reset][blue]-[reset][magenta]09[reset][blue]-[reset][magenta]09[reset]", ), ( "2022/12/30", "[magenta]2022[reset][blue]/[reset][magenta]12[reset][blue]/[reset][magenta]30[reset]", ), ( "09-09-2022", "[magenta]2022[reset][blue]-[reset][magenta]09[reset][blue]-[reset][magenta]09[reset]", ), ( "09/09/2022", "[magenta]2022[reset][blue]/[reset][magenta]09[reset][blue]/[reset][magenta]09[reset]", ), ("3022-09-09", "3022-09-09"), // invalid year ("2022-19-39", "2022-19-39"), // invalid month ("2022/19/39", "2022/19/39"), // invalid month ("19/39/3023", "19/39/3023"), // invalid year ("No dates here!", "No dates here!"), ]; for (input, expected) in cases { let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } } } ================================================ FILE: src/core/highlighters/date_time.rs ================================================ use crate::core::config::DateTimeConfig; use crate::core::highlighter::Highlight; use crate::core::highlighters::Painter; use memchr::memchr; use regex::{Captures, Error, Regex, RegexBuilder}; use std::borrow::Cow; pub struct TimeHighlighter { regex: Regex, idx: Idx, time: Painter, zone: Painter, separator: Painter, } #[derive(Copy, Clone)] struct Idx { t: usize, hours: usize, colon1: usize, minutes: usize, colon2: usize, seconds: usize, frac_sep: usize, frac_digits: usize, tz: usize, } impl TimeHighlighter { pub fn new(time_config: DateTimeConfig) -> Result { let pattern = r"(?x) (?P[T\s])? (?P[01]?\d|2[0-3])(?P:) (?P[0-5]\d)(?P:) (?P[0-5]\d) (?P[.,:])?(?P\d+)? (?PZ)? "; let regex = RegexBuilder::new(pattern).unicode(false).build()?; let mut name_to_idx = std::collections::HashMap::new(); for (i, name_opt) in regex.capture_names().enumerate() { if let Some(name) = name_opt { name_to_idx.insert(name.to_string(), i); } } let idx = Idx { t: name_to_idx["T"], hours: name_to_idx["hours"], colon1: name_to_idx["colon1"], minutes: name_to_idx["minutes"], colon2: name_to_idx["colon2"], seconds: name_to_idx["seconds"], frac_sep: name_to_idx["frac_sep"], frac_digits: name_to_idx["frac_digits"], tz: name_to_idx["tz"], }; Ok(Self { regex, idx, time: Painter::new(time_config.time.into()), zone: Painter::new(time_config.zone.into()), separator: Painter::new(time_config.separator.into()), }) } #[inline] fn write_part(buf: &mut String, caps: &Captures<'_>, i: usize, painter: &Painter) { if let Some(m) = caps.get(i) { painter.paint(buf, m.as_str()); } } } impl Highlight for TimeHighlighter { fn apply<'a>(&self, input: &'a str) -> Cow<'a, str> { if memchr(b':', input.as_bytes()).is_none() { return Cow::Borrowed(input); } let mut out: Option = None; let mut last = 0usize; for caps in self.regex.captures_iter(input) { let m = caps.get(0).unwrap(); let buf = out.get_or_insert_with(|| String::with_capacity(input.len() + 32)); buf.push_str(&input[last..m.start()]); Self::write_part(buf, &caps, self.idx.t, &self.zone); Self::write_part(buf, &caps, self.idx.hours, &self.time); Self::write_part(buf, &caps, self.idx.colon1, &self.separator); Self::write_part(buf, &caps, self.idx.minutes, &self.time); Self::write_part(buf, &caps, self.idx.colon2, &self.separator); Self::write_part(buf, &caps, self.idx.seconds, &self.time); Self::write_part(buf, &caps, self.idx.frac_sep, &self.separator); Self::write_part(buf, &caps, self.idx.frac_digits, &self.time); Self::write_part(buf, &caps, self.idx.tz, &self.zone); last = m.end(); } match out { Some(mut buf) => { buf.push_str(&input[last..]); Cow::Owned(buf) } None => Cow::Borrowed(input), } } } #[cfg(test)] mod tests { use super::*; use crate::core::config::DateTimeConfig; use crate::core::tests::escape_code_converter::ConvertEscapeCodes; use crate::style::{Color, Style}; #[test] fn test_time_highlighter() { let config = DateTimeConfig { date: Style::new(), time: Style::new().fg(Color::Red), zone: Style::new().fg(Color::Blue), separator: Style::new().fg(Color::Yellow), }; let highlighter = TimeHighlighter::new(config).unwrap(); let cases = vec![ ( "07:46:34", "[red]07[reset][yellow]:[reset][red]46[reset][yellow]:[reset][red]34[reset]", ), ( "10:51:19.251", "[red]10[reset][yellow]:[reset][red]51[reset][yellow]:[reset][red]19[reset][yellow].[reset][red]251[reset]", ), ( "11:47:39:850", "[red]11[reset][yellow]:[reset][red]47[reset][yellow]:[reset][red]39[reset][yellow]:[reset][red]850[reset]", ), ( "3:33:30", "[red]3[reset][yellow]:[reset][red]33[reset][yellow]:[reset][red]30[reset]", ), ( "2022-09-09 11:48:34,534", "2022-09-09[blue] [reset][red]11[reset][yellow]:[reset][red]48[reset][yellow]:[reset][red]34[reset][yellow],[reset][red]534[reset]", ), ( "2022-09-22T07:46:34.171800155Z", "2022-09-22[blue]T[reset][red]07[reset][yellow]:[reset][red]46[reset][yellow]:[reset][red]34[reset][yellow].[reset][red]171800155[reset][blue]Z[reset]", ), ( "2024-09-14T07:57:30.659+02:00", "2024-09-14[blue]T[reset][red]07[reset][yellow]:[reset][red]57[reset][yellow]:[reset][red]30[reset][yellow].[reset][red]659[reset]+02:00", ), ("No time here!", "No time here!"), ("2001:db8::ff00:42:8329", "2001:db8::ff00:42:8329"), ]; for (input, expected) in cases { let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } } } ================================================ FILE: src/core/highlighters/ip_v4.rs ================================================ use super::RegexExt; use crate::core::config::IpV4Config; use crate::core::highlighter::Highlight; use crate::core::highlighters::Painter; use memchr::memchr; use regex::{Error, Regex, RegexBuilder}; use std::borrow::Cow; pub struct IpV4Highlighter { regex: Regex, segment: Painter, separator: Painter, } impl IpV4Highlighter { pub fn new(config: IpV4Config) -> Result { let pattern = r"(?x)\b (?P\d{1,3})\. (?P\d{1,3})\. (?P\d{1,3})\. (?P\d{1,3}) (?:/(?P\d{1,2}))? \b"; let regex = RegexBuilder::new(pattern).unicode(false).build()?; Ok(Self { regex, segment: Painter::new(config.number.into()), separator: Painter::new(config.separator.into()), }) } } impl Highlight for IpV4Highlighter { fn apply<'a>(&self, input: &'a str) -> Cow<'a, str> { if memchr(b'.', input.as_bytes()).is_none() { return Cow::Borrowed(input); } let names = ["o1", "o2", "o3", "o4"]; self.regex.replace_all_cow(input, |caps, buf| { let valid_octets = names .iter() .all(|n| caps.name(n).unwrap().as_str().parse::().is_ok()); let valid_mask = caps .name("mask") .map_or(true, |ms| ms.as_str().parse::().is_ok_and(|v| v <= 32)); if valid_octets && valid_mask { for (i, &n) in names.iter().enumerate() { self.segment.paint(buf, caps.name(n).unwrap().as_str()); if i < 3 { self.separator.paint(buf, "."); } } if let Some(ms) = caps.name("mask") { self.separator.paint(buf, "/"); self.segment.paint(buf, ms.as_str()); } } else { buf.push_str(caps.get(0).unwrap().as_str()); } }) } } #[cfg(test)] mod tests { use super::*; use crate::core::tests::escape_code_converter::ConvertEscapeCodes; use crate::style::{Color, Style}; #[test] fn test_ipv4_highlighter_valid() { let h = IpV4Highlighter::new(IpV4Config { number: Style::new().fg(Color::Blue), separator: Style::new().fg(Color::Red), }) .unwrap(); let cases = vec![ ( "10.0.0.123", "[blue]10[reset][red].[reset][blue]0[reset][red].[reset][blue]0[reset][red].[reset][blue]123[reset]", ), ( "192.168.0.1/24", "[blue]192[reset][red].[reset][blue]168[reset][red].[reset][blue]0[reset][red].[reset][blue]1[reset][red]/[reset][blue]24[reset]", ), ( "0.0.0.0", "[blue]0[reset][red].[reset][blue]0[reset][red].[reset][blue]0[reset][red].[reset][blue]0[reset]", ), ]; for (input, expect) in cases { let actual = h.apply(input); assert_eq!(expect, actual.to_string().convert_escape_codes()); } } #[test] fn test_ipv4_highlighter_invalid_octet_or_mask() { let h = IpV4Highlighter::new(IpV4Config { number: Style::new().fg(Color::Blue), separator: Style::new().fg(Color::Red), }) .unwrap(); let cases = vec![ // octet >255 ("256.1.1.1", "256.1.1.1"), // octet >255 ("999.999.999.999", "999.999.999.999"), // mask >32 ("192.168.0.1/33", "192.168.0.1/33"), // partial (too few segments) shouldn’t match at all ("1.2.3", "1.2.3"), ]; for (input, expect) in cases { let actual = h.apply(input); assert_eq!(expect, actual); } } } ================================================ FILE: src/core/highlighters/ip_v6.rs ================================================ use super::RegexExt; use crate::core::config::IpV6Config; use crate::core::highlighter::Highlight; use crate::core::highlighters::Painter; use memchr::memchr; use regex::{Error, Regex, RegexBuilder}; use std::borrow::Cow; use std::net::Ipv6Addr; pub struct IpV6Highlighter { regex: Regex, number: Painter, letter: Painter, separator: Painter, } impl IpV6Highlighter { pub fn new(config: IpV6Config) -> Result { let pattern = r#"([0-9a-fA-F:.]{3,})(?:(/)(\d{1,3}))?"#; let regex = RegexBuilder::new(pattern).unicode(false).build()?; Ok(Self { regex, number: Painter::new(config.number.into()), letter: Painter::new(config.letter.into()), separator: Painter::new(config.separator.into()), }) } } impl Highlight for IpV6Highlighter { fn apply<'a>(&self, input: &'a str) -> Cow<'a, str> { if memchr(b':', input.as_bytes()).is_none() { return Cow::Borrowed(input); } self.regex.replace_all_cow(input, |caps, buf| { if caps[1].parse::().is_ok() { let addr = &caps[1]; for (i, c) in addr.char_indices() { let s = &addr[i..i + c.len_utf8()]; let painter = match c { '0'..='9' => &self.number, 'a'..='f' | 'A'..='F' => &self.letter, ':' | '.' => &self.separator, _ => { buf.push(c); continue; } }; painter.paint(buf, s); } if let (Some(slash), Some(netmask)) = (caps.get(2), caps.get(3)) { self.separator.paint(buf, slash.as_str()); self.number.paint(buf, netmask.as_str()); } } else { buf.push_str(caps.get(0).unwrap().as_str()); } }) } } #[cfg(test)] mod tests { use super::*; use crate::core::tests::escape_code_converter::ConvertEscapeCodes; use crate::style::{Color, Style}; #[test] fn test_ip_v6_highlighter() { let highlighter = IpV6Highlighter::new(IpV6Config { number: Style::new().fg(Color::Blue), letter: Style::new().fg(Color::Yellow), separator: Style::new().fg(Color::Red), }) .unwrap(); let cases = vec![ ( "2001:db8:0:0:0:ff00:42:8329", "[blue]2[reset][blue]0[reset][blue]0[reset][blue]1[reset][red]:[reset][yellow]d[reset][yellow]b[reset][blue]8[reset][red]:[reset][blue]0[reset][red]:[reset][blue]0[reset][red]:[reset][blue]0[reset][red]:[reset][yellow]f[reset][yellow]f[reset][blue]0[reset][blue]0[reset][red]:[reset][blue]4[reset][blue]2[reset][red]:[reset][blue]8[reset][blue]3[reset][blue]2[reset][blue]9[reset]", ), ( "2001:db8::ff00:42:8329", "[blue]2[reset][blue]0[reset][blue]0[reset][blue]1[reset][red]:[reset][yellow]d[reset][yellow]b[reset][blue]8[reset][red]:[reset][red]:[reset][yellow]f[reset][yellow]f[reset][blue]0[reset][blue]0[reset][red]:[reset][blue]4[reset][blue]2[reset][red]:[reset][blue]8[reset][blue]3[reset][blue]2[reset][blue]9[reset]", ), ("::1", "[red]:[reset][red]:[reset][blue]1[reset]"), ( "2001:db8:85a3::8a2e:192.0.2.33", "[blue]2[reset][blue]0[reset][blue]0[reset][blue]1[reset][red]:[reset][yellow]d[reset][yellow]b[reset][blue]8[reset][red]:[reset][blue]8[reset][blue]5[reset][yellow]a[reset][blue]3[reset][red]:[reset][red]:[reset][blue]8[reset][yellow]a[reset][blue]2[reset][yellow]e[reset][red]:[reset][blue]1[reset][blue]9[reset][blue]2[reset][red].[reset][blue]0[reset][red].[reset][blue]2[reset][red].[reset][blue]3[reset][blue]3[reset]", ), ( "::ffff:127.0.0.1", "[red]:[reset][red]:[reset][yellow]f[reset][yellow]f[reset][yellow]f[reset][yellow]f[reset][red]:[reset][blue]1[reset][blue]2[reset][blue]7[reset][red].[reset][blue]0[reset][red].[reset][blue]0[reset][red].[reset][blue]1[reset]", ), ( "fe80::/10", "[yellow]f[reset][yellow]e[reset][blue]8[reset][blue]0[reset][red]:[reset][red]:[reset][red]/[reset][blue]10[reset]", ), ("Not ipv4: 192.168.0.1", "Not ipv4: 192.168.0.1"), ("11:47:39:850", "11:47:39:850"), ("123/234/345/456", "123/234/345/456"), ]; for (input, expected) in cases { let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } } } ================================================ FILE: src/core/highlighters/json.rs ================================================ use crate::core::config::JsonConfig; use crate::core::highlighter::Highlight; use crate::core::highlighters::Painter; use serde_json::Value; use std::borrow::Cow; use std::fmt::Write; pub struct JsonHighlighter { key: Painter, quote_token: Painter, curly_bracket: Painter, square_bracket: Painter, comma: Painter, colon: Painter, } impl JsonHighlighter { pub fn new(config: JsonConfig) -> Self { Self { key: Painter::new(config.key.into()), quote_token: Painter::new(config.quote_token.into()), curly_bracket: Painter::new(config.curly_bracket.into()), square_bracket: Painter::new(config.square_bracket.into()), comma: Painter::new(config.comma.into()), colon: Painter::new(config.colon.into()), } } fn format_json(&self, value: &Value, output: &mut String) { match value { Value::Object(map) => { self.curly_bracket.paint(output, "{"); let mut first = true; for (key, val) in map { if !first { self.comma.paint(output, ","); } first = false; output.push(' '); self.quote_token.paint(output, "\""); self.key.paint(output, key); self.quote_token.paint(output, "\""); self.colon.paint(output, ":"); output.push(' '); self.format_json(val, output); } output.push(' '); self.curly_bracket.paint(output, "}"); } Value::Array(array) => { self.square_bracket.paint(output, "["); let mut first = true; for item in array { if !first { self.comma.paint(output, ","); output.push(' '); } first = false; self.format_json(item, output); } self.square_bracket.paint(output, "]"); } Value::String(s) => { self.quote_token.paint(output, "\""); output.push_str(s); self.quote_token.paint(output, "\""); } Value::Number(n) => { write!(output, "{}", n).unwrap(); } Value::Bool(b) => { write!(output, "{}", b).unwrap(); } Value::Null => { output.push_str("null"); } } } } impl Highlight for JsonHighlighter { fn apply<'a>(&self, input: &'a str) -> Cow<'a, str> { let first = input.as_bytes().iter().find(|b| !b.is_ascii_whitespace()); if first != Some(&b'{') && first != Some(&b'[') { return Cow::Borrowed(input); } let json_value: Value = match serde_json::from_str(input) { Ok(value) => value, Err(_) => return Cow::Borrowed(input), }; let mut output = String::with_capacity(input.len() * 2); self.format_json(&json_value, &mut output); Cow::Owned(output) } } #[cfg(test)] mod tests { use super::*; use crate::core::tests::escape_code_converter::ConvertEscapeCodes; use crate::style::{Color, Style}; #[test] fn test_number_highlighter() { let config = JsonConfig { key: Style::new().fg(Color::Yellow), quote_token: Style::new().fg(Color::Blue), curly_bracket: Style::new().fg(Color::Cyan), square_bracket: Style::new().fg(Color::Green), comma: Style::new().fg(Color::Red), colon: Style::new().fg(Color::Magenta), }; let highlighter = JsonHighlighter::new(config); let cases = vec![ ( r#"{ "name": "John Doe", "age": 43, "phones": [ "+44 1234567", "+44 2345678" ] }"#, r#"[cyan]{[reset] [blue]"[reset][yellow]name[reset][blue]"[reset][magenta]:[reset] [blue]"[reset]John Doe[blue]"[reset][red],[reset] [blue]"[reset][yellow]age[reset][blue]"[reset][magenta]:[reset] 43[red],[reset] [blue]"[reset][yellow]phones[reset][blue]"[reset][magenta]:[reset] [green][[reset][blue]"[reset]+44 1234567[blue]"[reset][red],[reset] [blue]"[reset]+44 2345678[blue]"[reset][green]][reset] [cyan]}[reset]"#, ), ( r#"{ "name": "John", "age": 30 }"#, r#"[cyan]{[reset] [blue]"[reset][yellow]name[reset][blue]"[reset][magenta]:[reset] [blue]"[reset]John[blue]"[reset][red],[reset] [blue]"[reset][yellow]age[reset][blue]"[reset][magenta]:[reset] 30 [cyan]}[reset]"#, ), ("No jsons here!", "No jsons here!"), ]; for (input, expected) in cases { let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } } } ================================================ FILE: src/core/highlighters/key_value.rs ================================================ use super::RegexExt; use crate::core::config::KeyValueConfig; use crate::core::highlighter::Highlight; use crate::core::highlighters::Painter; use memchr::memchr; use regex::{Error, Regex, RegexBuilder}; use std::borrow::Cow; pub struct KeyValueHighlighter { regex: Regex, key: Painter, separator: Painter, } impl KeyValueHighlighter { pub fn new(config: KeyValueConfig) -> Result { let pattern = r"(?P(^)|\s)(?P\w+\b)(?P=)"; let regex = RegexBuilder::new(pattern).unicode(false).build()?; Ok(Self { regex, key: Painter::new(config.key.into()), separator: Painter::new(config.separator.into()), }) } } impl Highlight for KeyValueHighlighter { fn apply<'a>(&self, input: &'a str) -> Cow<'a, str> { if memchr(b'=', input.as_bytes()).is_none() { return Cow::Borrowed(input); } self.regex.replace_all_cow(input, |caps, buf| { let space_or_start = caps.name("space_or_start").map(|s| s.as_str()).unwrap_or_default(); buf.push_str(space_or_start); if let Some(k) = caps.name("key") { self.key.paint(buf, k.as_str()); } if let Some(e) = caps.name("equals") { self.separator.paint(buf, e.as_str()); } }) } } #[cfg(test)] mod tests { use super::*; use crate::core::tests::escape_code_converter::ConvertEscapeCodes; use crate::style::{Color, Style}; #[test] fn test_number_highlighter() { let highlighter = KeyValueHighlighter::new(KeyValueConfig { key: Style::new().fg(Color::Red), separator: Style::new().fg(Color::Yellow), }) .unwrap(); let cases = vec![ ("Entry key=value", "Entry [red]key[reset][yellow]=[reset]value"), ("No numbers here!", "No numbers here!"), ]; for (input, expected) in cases { let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } } } ================================================ FILE: src/core/highlighters/keyword.rs ================================================ use crate::core::config::KeywordConfig; use crate::core::highlighter::Highlight; use crate::core::highlighters::Painter; use aho_corasick::{AhoCorasick, AhoCorasickBuilder, BuildError, MatchKind}; use std::borrow::Cow; pub struct KeywordHighlighter { ac: AhoCorasick, style: Painter, has_background: bool, } impl KeywordHighlighter { pub fn new(keyword_config: KeywordConfig) -> Result { let ac = AhoCorasickBuilder::new() .match_kind(MatchKind::LeftmostFirst) .build(&keyword_config.words)?; let has_background = keyword_config.style.bg.is_some(); Ok(Self { ac, style: Painter::new(keyword_config.style.into()), has_background, }) } } fn is_word_byte(b: u8) -> bool { b.is_ascii_uppercase() || b.is_ascii_lowercase() || b.is_ascii_digit() || b == b'_' } fn is_word_boundary(hay: &[u8], start: usize, end: usize) -> bool { let left_ok = start == 0 || !is_word_byte(hay[start - 1]); let right_ok = end == hay.len() || !is_word_byte(hay[end]); left_ok && right_ok } impl Highlight for KeywordHighlighter { fn apply<'a>(&self, input: &'a str) -> Cow<'a, str> { let bytes = input.as_bytes(); let mut out: Option = None; let mut last = 0; for m in self.ac.find_iter(bytes) { let (s, e) = (m.start(), m.end()); if !is_word_boundary(bytes, s, e) { continue; } let out_buf = out.get_or_insert_with(|| String::with_capacity(input.len() + 16)); out_buf.push_str(&input[last..s]); if !self.has_background { self.style.paint(out_buf, &input[s..e]); } else { self.style.paint_with_padding(out_buf, &input[s..e]); } last = e; } match out { None => Cow::Borrowed(input), Some(mut s) => { s.push_str(&input[last..]); Cow::Owned(s) } } } } #[cfg(test)] mod tests { use super::*; use crate::core::tests::escape_code_converter::ConvertEscapeCodes; use crate::style::{Color, Style}; #[test] fn test_foreground_keyword_highlighter() { let config = KeywordConfig { words: vec!["null".to_string()], style: Style::new().fg(Color::Red), }; let highlighter = KeywordHighlighter::new(config).unwrap(); let cases = vec![ ("Hello null world", "Hello [red]null[reset] world"), ( "There are 1001 nights in the tale.", "There are 1001 nights in the tale.", ), ("No numbers here!", "No numbers here!"), ]; for (input, expected) in cases { let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } } #[test] fn test_background_keyword_highlighter() { let config = KeywordConfig { words: vec!["null".to_string()], style: Style::new().on(Color::Red), }; let highlighter = KeywordHighlighter::new(config).unwrap(); let cases = vec![ ("Hello null world", "Hello [bg_red] null [reset] world"), ( "There are 1001 nights in the tale.", "There are 1001 nights in the tale.", ), ("No numbers here!", "No numbers here!"), ]; for (input, expected) in cases { let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } } } ================================================ FILE: src/core/highlighters/mod.rs ================================================ use crate::core::highlighter::Highlight; use crate::core::highlighters::date_dash::DateDashHighlighter; use crate::core::highlighters::date_time::TimeHighlighter; use crate::core::highlighters::ip_v4::IpV4Highlighter; use crate::core::highlighters::ip_v6::IpV6Highlighter; use crate::core::highlighters::json::JsonHighlighter; use crate::core::highlighters::key_value::KeyValueHighlighter; use crate::core::highlighters::keyword::KeywordHighlighter; use crate::core::highlighters::number::NumberHighlighter; use crate::core::highlighters::pointer::PointerHighlighter; use crate::core::highlighters::quote::QuoteHighlighter; use crate::core::highlighters::regex::RegexpHighlighter; use crate::core::highlighters::unix_path::UnixPathHighlighter; use crate::core::highlighters::unix_process::UnixProcessHighlighter; use crate::core::highlighters::url::UrlHighlighter; use crate::core::highlighters::uuid::UuidHighlighter; use ::regex::{Captures, Regex}; use nu_ansi_term::Style as NuStyle; use std::borrow::Cow; const RESET: &str = "\x1b[0m"; /// Pre-computed ANSI escape prefix for a style. Avoids the `Display` dispatch /// of `style.paint(s)` on every call by writing `prefix + s + RESET` directly. pub(crate) struct Painter { prefix: String, } impl Painter { pub fn new(style: NuStyle) -> Self { let styled = format!("{}", style.paint("")); let prefix = styled.replace(RESET, ""); Self { prefix } } #[inline] pub fn paint(&self, buf: &mut String, s: &str) { if self.prefix.is_empty() { buf.push_str(s); } else { buf.push_str(&self.prefix); buf.push_str(s); buf.push_str(RESET); } } #[inline] pub fn paint_with_padding(&self, buf: &mut String, s: &str) { if self.prefix.is_empty() { buf.push(' '); buf.push_str(s); buf.push(' '); } else { buf.push_str(&self.prefix); buf.push(' '); buf.push_str(s); buf.push(' '); buf.push_str(RESET); } } } pub mod date_dash; pub mod date_time; pub mod ip_v4; pub mod ip_v6; pub mod json; pub mod key_value; pub mod keyword; pub mod number; pub mod pointer; pub mod quote; pub mod regex; pub mod unix_path; pub mod unix_process; pub mod url; pub mod uuid; /// Extension trait for `Regex` that provides a zero-alloc alternative to /// `replace_all`. Writes directly into a single buffer instead of allocating /// a `String` per match, and returns `Cow::Borrowed` when there are no matches. pub(crate) trait RegexExt { fn replace_all_cow<'a, F>(&self, input: &'a str, replacer: F) -> Cow<'a, str> where F: FnMut(&Captures<'_>, &mut String); } impl RegexExt for Regex { fn replace_all_cow<'a, F>(&self, input: &'a str, mut replacer: F) -> Cow<'a, str> where F: FnMut(&Captures<'_>, &mut String), { let mut out: Option = None; let mut last = 0usize; for caps in self.captures_iter(input) { let m = caps.get(0).unwrap(); let buf = out.get_or_insert_with(|| String::with_capacity(input.len() + 32)); buf.push_str(&input[last..m.start()]); replacer(&caps, buf); last = m.end(); } match out { Some(mut buf) => { buf.push_str(&input[last..]); Cow::Owned(buf) } None => Cow::Borrowed(input), } } } #[cfg(test)] mod tests { use super::*; #[test] fn painter_prefix_ends_with_reset() { let style = NuStyle { foreground: Some(nu_ansi_term::Color::Red), ..Default::default() }; let styled = format!("{}", style.paint("")); assert!( styled.ends_with(RESET), "nu_ansi_term output must end with RESET: {styled:?}" ); } #[test] fn painter_default_style_produces_empty_prefix() { let painter = Painter::new(NuStyle::default()); assert!(painter.prefix.is_empty()); } #[test] fn painter_paint_roundtrip() { let painter = Painter::new(NuStyle { foreground: Some(nu_ansi_term::Color::Green), ..Default::default() }); let mut buf = String::new(); painter.paint(&mut buf, "hello"); assert!(buf.starts_with("\x1b[")); assert!(buf.ends_with(RESET)); assert!(buf.contains("hello")); } } pub enum StaticHighlight { DateDash(DateDashHighlighter), Time(TimeHighlighter), IpV4(IpV4Highlighter), IpV6(IpV6Highlighter), Json(JsonHighlighter), KeyValue(KeyValueHighlighter), Keyword(KeywordHighlighter), Number(NumberHighlighter), Pointer(PointerHighlighter), Quote(QuoteHighlighter), Regexp(RegexpHighlighter), UnixPath(UnixPathHighlighter), UnixProcess(UnixProcessHighlighter), Url(UrlHighlighter), Uuid(UuidHighlighter), } impl StaticHighlight { pub fn needs_full_input(&self) -> bool { matches!(self, StaticHighlight::Quote(_)) } } impl Highlight for StaticHighlight { fn apply<'a>(&self, input: &'a str) -> Cow<'a, str> { match self { StaticHighlight::DateDash(h) => h.apply(input), StaticHighlight::Time(h) => h.apply(input), StaticHighlight::IpV4(h) => h.apply(input), StaticHighlight::IpV6(h) => h.apply(input), StaticHighlight::Json(h) => h.apply(input), StaticHighlight::KeyValue(h) => h.apply(input), StaticHighlight::Keyword(h) => h.apply(input), StaticHighlight::Number(h) => h.apply(input), StaticHighlight::Pointer(h) => h.apply(input), StaticHighlight::Quote(h) => h.apply(input), StaticHighlight::Regexp(h) => h.apply(input), StaticHighlight::UnixPath(h) => h.apply(input), StaticHighlight::UnixProcess(h) => h.apply(input), StaticHighlight::Url(h) => h.apply(input), StaticHighlight::Uuid(h) => h.apply(input), } } } ================================================ FILE: src/core/highlighters/number.rs ================================================ use crate::core::config::NumberConfig; use crate::core::highlighter::Highlight; use crate::core::highlighters::Painter; use regex::{Error, Regex, RegexBuilder}; use std::borrow::Cow; pub struct NumberHighlighter { regex: Regex, style: Painter, } impl NumberHighlighter { pub fn new(config: NumberConfig) -> Result { let pattern = r"(?x) \b # start of number \d+ # integer part (?:\.\d+)? # optional fractional \b # end of number "; let regex = RegexBuilder::new(pattern).unicode(false).build()?; Ok(Self { regex, style: Painter::new(config.style.into()), }) } } impl Highlight for NumberHighlighter { fn apply<'a>(&self, input: &'a str) -> Cow<'a, str> { let mut it = self.regex.find_iter(input).peekable(); if it.peek().is_none() { return Cow::Borrowed(input); } let mut out = String::with_capacity(input.len() + 32); let mut last = 0usize; for m in it { out.push_str(&input[last..m.start()]); self.style.paint(&mut out, &input[m.start()..m.end()]); last = m.end(); } out.push_str(&input[last..]); Cow::Owned(out) } } #[cfg(test)] mod tests { use super::*; use crate::core::tests::escape_code_converter::ConvertEscapeCodes; use crate::style::{Color, Style}; #[test] fn test_number_highlighter() { let highlighter = NumberHighlighter::new(NumberConfig { style: Style::new().fg(Color::Red), }) .unwrap(); let cases = vec![ ( "The fox jumps over 13 dogs. The number 42.5 is here.", "The fox jumps over [red]13[reset] dogs. The number [red]42.5[reset] is here.", ), ( "There are 1001 nights in the tale.", "There are [red]1001[reset] nights in the tale.", ), ("No numbers here!", "No numbers here!"), ]; for (input, expected) in cases { let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } } } ================================================ FILE: src/core/highlighters/pointer.rs ================================================ use super::RegexExt; use crate::core::config::PointerConfig; use crate::core::highlighter::Highlight; use crate::core::highlighters::Painter; use memchr::memchr2; use regex::{Error, Regex, RegexBuilder}; use std::borrow::Cow; pub struct PointerHighlighter { regex: Regex, number: Painter, letter: Painter, separator: Painter, separator_token_str: String, x: Painter, } impl PointerHighlighter { pub fn new(config: PointerConfig) -> Result { let pattern = r"(?ix) \b (?P0x) (?P[0-9a-fA-F]{8}) \b | \b (?P0x) (?P[0-9a-fA-F]{8}) (?P[0-9a-fA-F]{8}) \b "; let regex = RegexBuilder::new(pattern).unicode(false).build()?; Ok(Self { regex, number: Painter::new(config.number.into()), letter: Painter::new(config.letter.into()), separator: Painter::new(config.separator.into()), separator_token_str: config.separator_token.to_string(), x: Painter::new(config.x.into()), }) } } impl PointerHighlighter { fn write_hex_chars(&self, buf: &mut String, text: &str) { for (i, c) in text.char_indices() { let s = &text[i..i + c.len_utf8()]; let painter = match c { '0'..='9' => &self.number, 'x' | 'X' => &self.x, 'a'..='f' | 'A'..='F' => &self.letter, _ => { buf.push(c); continue; } }; painter.paint(buf, s); } } } impl Highlight for PointerHighlighter { fn apply<'a>(&self, input: &'a str) -> Cow<'a, str> { if memchr2(b'x', b'X', input.as_bytes()).is_none() { return Cow::Borrowed(input); } self.regex.replace_all_cow(input, |caps, buf| { let prefix = caps.name("prefix").or_else(|| caps.name("prefix64")).unwrap().as_str(); let first_half = caps .name("first_half") .or_else(|| caps.name("first_half64")) .unwrap() .as_str(); self.write_hex_chars(buf, prefix); self.write_hex_chars(buf, first_half); if let Some(second_half) = caps.name("second_half") { self.separator.paint(buf, &self.separator_token_str); self.write_hex_chars(buf, second_half.as_str()); } }) } } #[cfg(test)] mod tests { use super::*; use crate::core::tests::escape_code_converter::ConvertEscapeCodes; use crate::style::{Color, Style}; #[test] fn test_pointer_highlighter() { let highlighter = PointerHighlighter::new(PointerConfig { number: Style::new().fg(Color::Blue), letter: Style::new().fg(Color::Magenta), separator: Style::new().fg(Color::Green), separator_token: '•', x: Style::new().fg(Color::Red), }) .unwrap(); let cases = vec![ ( "0x8c2a0aeb", "[blue]0[reset][red]x[reset][blue]8[reset][magenta]c[reset][blue]2[reset][magenta]a[reset][blue]0[reset][magenta]a[reset][magenta]e[reset][magenta]b[reset]", ), ( "0xd7b3b2f446e2c21b", "[blue]0[reset][red]x[reset][magenta]d[reset][blue]7[reset][magenta]b[reset][blue]3[reset][magenta]b[reset][blue]2[reset][magenta]f[reset][blue]4[reset][green]•[reset][blue]4[reset][blue]6[reset][magenta]e[reset][blue]2[reset][magenta]c[reset][blue]2[reset][blue]1[reset][magenta]b[reset]", ), ("No numbers here!", "No numbers here!"), ]; for (input, expected) in cases { let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } } } ================================================ FILE: src/core/highlighters/quote.rs ================================================ use memchr::memchr_iter; use nu_ansi_term::Style as NuStyle; use std::borrow::Cow; use crate::core::config::QuotesConfig; use crate::core::highlighter::Highlight; use crate::core::highlighters::quote::State::{InsideQuote, OutsideQuote}; use crate::style::Style; const RESET: &str = "\x1b[0m"; pub struct QuoteHighlighter { quotes_token: u8, color: String, } impl QuoteHighlighter { pub fn new(config: QuotesConfig) -> Self { let color = ansi_color_code_without_reset(config.style); Self { quotes_token: config.quotes_token, color, } } } fn ansi_color_code_without_reset(style: Style) -> String { let nu_style = NuStyle::from(style); let styled_str = format!("{}", nu_style.paint("")); styled_str.replace(RESET, "") } impl Highlight for QuoteHighlighter { fn apply<'a>(&self, input: &'a str) -> Cow<'a, str> { let quotes_count = memchr_iter(self.quotes_token, input.as_bytes()).count(); if quotes_count == 0 || quotes_count % 2 != 0 { return Cow::Borrowed(input); } let mut state = OutsideQuote; let mut output = String::with_capacity(input.len()); for ch in input.chars() { match &mut state { InsideQuote { potential_reset_code } => { if ch == self.quotes_token as char { // Flush any partially accumulated escape sequence. output.push_str(potential_reset_code); // End of a quoted segment: insert the closing quote and reset. output.push(ch); output.push_str(RESET); state = OutsideQuote; continue; } // Accumulate characters to see if we are matching a reset sequence. potential_reset_code.push(ch); if potential_reset_code.as_str() == RESET { output.push_str(potential_reset_code); output.push_str(&self.color); potential_reset_code.clear(); } else if !RESET.starts_with(potential_reset_code.as_str()) { // The accumulated characters do not form the reset code. output.push_str(potential_reset_code); potential_reset_code.clear(); } } OutsideQuote => { if ch == self.quotes_token as char { // Start of a quoted segment: insert the color code and the quote. output.push_str(&self.color); output.push(ch); state = InsideQuote { potential_reset_code: String::with_capacity(RESET.len()), }; continue; } output.push(ch); } } } Cow::Owned(output) } } enum State { InsideQuote { potential_reset_code: String }, OutsideQuote, } #[cfg(test)] mod tests { use super::*; use crate::core::tests::escape_code_converter::{ConvertEscapeCodes, ConvertHighlightCodes}; use crate::style::{Color, Style}; #[test] fn test_multiple() { let highlighter = QuoteHighlighter::new(QuotesConfig { quotes_token: b'"', style: Style::new().fg(Color::Yellow), }); let cases = vec![ ( r#"Lorem ipsum "dolor" sit amet"#, r#"Lorem ipsum [yellow]"dolor"[reset] sit amet"#, ), ( r#"Lorem ipsum dolor sit amet, consectetur adipiscing elit"#, r#"Lorem ipsum dolor sit amet, consectetur adipiscing elit"#, ), ]; for (input, expected) in cases { let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } } #[test] fn test_no_overwrite() { let highlighter = QuoteHighlighter::new(QuotesConfig { quotes_token: b'"', style: Style::new().fg(Color::Yellow), }); let input = r#"Hello "abc [red]def[reset] ghi" World"#.to_string().convert_highlight_codes(); let expected = r#"Hello [yellow]"abc [red]def[reset][yellow] ghi"[reset] World"#; let actual = highlighter.apply(input.as_str()); assert_eq!(actual.to_string().convert_escape_codes(), expected); } #[test] fn test_odd_number_of_highlight_tokens() { let highlighter = QuoteHighlighter::new(QuotesConfig { quotes_token: b'"', style: Style::new().fg(Color::Yellow), }); let input = r#"Hello "abc def ghi World"#; let expected = r#"Hello "abc def ghi World"#; let actual = highlighter.apply(input); assert_eq!(actual.to_string().convert_escape_codes(), expected); } #[test] fn test_preserves_multiple_highlights_inside_quotes() { let highlighter = QuoteHighlighter::new(QuotesConfig { quotes_token: b'"', style: Style::new().fg(Color::Yellow), }); let input = r#"Log "abc [red]error[reset] then [cyan]42[reset] end" done"# .to_string() .convert_highlight_codes(); let expected = r#"Log [yellow]"abc [red]error[reset][yellow] then [cyan]42[reset][yellow] end"[reset] done"#; let actual = highlighter.apply(input.as_str()); assert_eq!(actual.to_string().convert_escape_codes(), expected); } #[test] fn test_highlight_at_start_of_quote() { let highlighter = QuoteHighlighter::new(QuotesConfig { quotes_token: b'"', style: Style::new().fg(Color::Yellow), }); let input = r#""[red]error[reset] occurred""#.to_string().convert_highlight_codes(); let expected = r#"[yellow]"[red]error[reset][yellow] occurred"[reset]"#; let actual = highlighter.apply(input.as_str()); assert_eq!(actual.to_string().convert_escape_codes(), expected); } #[test] fn test_highlight_at_end_of_quote() { let highlighter = QuoteHighlighter::new(QuotesConfig { quotes_token: b'"', style: Style::new().fg(Color::Yellow), }); let input = r#""something [red]error[reset]""#.to_string().convert_highlight_codes(); let expected = r#"[yellow]"something [red]error[reset][yellow]"[reset]"#; let actual = highlighter.apply(input.as_str()); assert_eq!(actual.to_string().convert_escape_codes(), expected); } #[test] fn test_no_highlights_inside_quotes() { let highlighter = QuoteHighlighter::new(QuotesConfig { quotes_token: b'"', style: Style::new().fg(Color::Yellow), }); let input = r#"Hello "plain text" world"#; let expected = r#"Hello [yellow]"plain text"[reset] world"#; let actual = highlighter.apply(input); assert_eq!(actual.to_string().convert_escape_codes(), expected); } #[test] fn test_adjacent_quoted_strings() { let highlighter = QuoteHighlighter::new(QuotesConfig { quotes_token: b'"', style: Style::new().fg(Color::Yellow), }); let input = r#""hello""world""#; let expected = r#"[yellow]"hello"[reset][yellow]"world"[reset]"#; let actual = highlighter.apply(input); assert_eq!(actual.to_string().convert_escape_codes(), expected); } #[test] fn test_empty_quoted_string() { let highlighter = QuoteHighlighter::new(QuotesConfig { quotes_token: b'"', style: Style::new().fg(Color::Yellow), }); let input = r#"before "" after"#; let expected = r#"before [yellow]""[reset] after"#; let actual = highlighter.apply(input); assert_eq!(actual.to_string().convert_escape_codes(), expected); } #[test] fn test_entirely_highlighted_content_inside_quotes() { let highlighter = QuoteHighlighter::new(QuotesConfig { quotes_token: b'"', style: Style::new().fg(Color::Yellow), }); let input = r#""[red]error[reset]""#.to_string().convert_highlight_codes(); let expected = r#"[yellow]"[red]error[reset][yellow]"[reset]"#; let actual = highlighter.apply(input.as_str()); assert_eq!(actual.to_string().convert_escape_codes(), expected); } #[test] fn test_single_quote_token() { let highlighter = QuoteHighlighter::new(QuotesConfig { quotes_token: b'\'', style: Style::new().fg(Color::Yellow), }); let input = "msg 'hello [red]world[reset] end' done" .to_string() .convert_highlight_codes(); let expected = "msg [yellow]'hello [red]world[reset][yellow] end'[reset] done"; let actual = highlighter.apply(input.as_str()); assert_eq!(actual.to_string().convert_escape_codes(), expected); } } ================================================ FILE: src/core/highlighters/regex.rs ================================================ use crate::core::config::RegexConfig; use crate::core::highlighter::Highlight; use crate::core::highlighters::Painter; use regex::{Error, Regex}; use std::borrow::Cow; pub struct RegexpHighlighter { regex: Regex, style: Painter, } impl RegexpHighlighter { /// This constructor takes a regular expression pattern and a `Style` object, /// returning a `RegexpHighlighter` that will apply the specified style /// to any text matching the regular expression. /// /// It supports one capture group `()`. When found, it will apply the style to the captured text. /// /// (If you are just interested in highlighting a specific keyword, you can use the simpler `KeywordHighlighter` /// instead.) /// # Example /// /// Given the regular expression pattern `'Started (.*)\.'`, the highlighter will /// apply the style to any text that matches the pattern within the capture group. /// For example, in the text `'Started process.'`, only the word `'process'` will be styled. /// pub fn new(config: RegexConfig) -> Result { Ok(Self { regex: Regex::new(config.regex.as_str())?, style: Painter::new(config.style.into()), }) } } impl Highlight for RegexpHighlighter { fn apply<'a>(&self, input: &'a str) -> Cow<'a, str> { let capture_groups = self.regex.captures_len() - 1; let mut caps_iter = self.regex.captures_iter(input).peekable(); if caps_iter.peek().is_none() { return Cow::Borrowed(input); } let mut new_string = String::with_capacity(input.len() + 32); let mut last_end = 0; for caps in caps_iter { if let Some(entire_match) = caps.get(0) { new_string.push_str(&input[last_end..entire_match.start()]); match capture_groups { 1 => { if let Some(captured) = caps.get(1) { new_string.push_str(&input[entire_match.start()..captured.start()]); self.style.paint(&mut new_string, captured.as_str()); new_string.push_str(&input[captured.end()..entire_match.end()]); } else { self.style.paint(&mut new_string, entire_match.as_str()); } } _ => { self.style.paint(&mut new_string, entire_match.as_str()); } } last_end = entire_match.end(); } } new_string.push_str(&input[last_end..]); Cow::Owned(new_string) } } #[cfg(test)] mod tests { use super::*; use crate::core::tests::escape_code_converter::ConvertEscapeCodes; use crate::style::{Color, Style}; fn make_highlighter(pattern: &str) -> RegexpHighlighter { let config = RegexConfig { regex: pattern.to_string(), style: Style::new().fg(Color::Red), }; RegexpHighlighter::new(config).unwrap() } #[test] fn test_optional_capture_group_not_participating() { // Pattern with one optional capture group: group 1 participates // only when "error" is present let highlighter = make_highlighter(r"(error)?warning"); // When the capture group does NOT participate, the matched text // ("warning") must still appear in the output. let result = highlighter.apply("got a warning here"); let readable = result.to_string().convert_escape_codes(); assert_eq!(readable, "got a [red]warning[reset] here"); // When the capture group DOES participate, only it is styled. let result = highlighter.apply("got a errorwarning here"); let readable = result.to_string().convert_escape_codes(); assert_eq!(readable, "got a [red]error[reset]warning here"); } } ================================================ FILE: src/core/highlighters/unix_path.rs ================================================ use super::RegexExt; use crate::core::config::UnixPathConfig; use crate::core::highlighter::Highlight; use crate::core::highlighters::Painter; use memchr::memchr; use regex::{Error, Regex, RegexBuilder}; use std::borrow::Cow; pub struct UnixPathHighlighter { regex: Regex, segment: Painter, separator: Painter, } impl UnixPathHighlighter { pub fn new(config: UnixPathConfig) -> Result { let pattern = r"(?x) (?:^|\s) (?P (?:\./|~/|//|/) [\w.-]+ (?:/[\w.-]+)+ ) "; let regex = RegexBuilder::new(pattern).unicode(false).build()?; Ok(Self { regex, segment: Painter::new(config.segment.into()), separator: Painter::new(config.separator.into()), }) } } impl Highlight for UnixPathHighlighter { fn apply<'a>(&self, input: &'a str) -> Cow<'a, str> { if memchr(b'/', input.as_bytes()).is_none() { return Cow::Borrowed(input); } self.regex.replace_all_cow(input, |caps, buf| { let full = caps.get(0).unwrap().as_str(); let path = &caps["path"]; // Preserve any leading whitespace that was part of the match if full.len() > path.len() { buf.push_str(&full[..full.len() - path.len()]); } let mut seg_start = None; for (i, ch) in path.char_indices() { if ch == '/' { if let Some(start) = seg_start.take() { self.segment.paint(buf, &path[start..i]); } self.separator.paint(buf, "/"); } else if seg_start.is_none() { seg_start = Some(i); } } if let Some(start) = seg_start { self.segment.paint(buf, &path[start..]); } }) } } #[cfg(test)] mod tests { use super::*; use crate::core::tests::escape_code_converter::ConvertEscapeCodes; use crate::style::{Color, Style}; #[test] fn test_unix_path_highlighter() { let highlighter = UnixPathHighlighter::new(UnixPathConfig { segment: Style::new().fg(Color::Green), separator: Style::new().fg(Color::Yellow), }) .unwrap(); let cases = vec![ ("a//b", "a//b"), ("a/b", "a/b"), ("name/name", "name/name"), ("a/b/c", "a/b/c"), ("justtext", "justtext"), ("README.md", "README.md"), ( "//network/share", "[yellow]/[reset][yellow]/[reset][green]network[reset][yellow]/[reset][green]share[reset]", ), ( "/user/local", "[yellow]/[reset][green]user[reset][yellow]/[reset][green]local[reset]", ), ("123/234/345/456", "123/234/345/456"), ( "~/projects/rust/tailspin", "[green]~[reset][yellow]/[reset][green]projects[reset][yellow]/[reset][green]rust[reset][yellow]/[reset][green]tailspin[reset]", ), ( "./a/b", "[green].[reset][yellow]/[reset][green]a[reset][yellow]/[reset][green]b[reset]", ), ( "/var/log/nginx/error.log", "[yellow]/[reset][green]var[reset][yellow]/[reset][green]log[reset][yellow]/[reset][green]nginx[reset][yellow]/[reset][green]error.log[reset]", ), ( "/path/.hidden/file", "[yellow]/[reset][green]path[reset][yellow]/[reset][green].hidden[reset][yellow]/[reset][green]file[reset]", ), ( "/usr/local/", "[yellow]/[reset][green]usr[reset][yellow]/[reset][green]local[reset]/", ), ( "See /etc/hosts please", "See [yellow]/[reset][green]etc[reset][yellow]/[reset][green]hosts[reset] please", ), ]; for (input, expected) in cases { let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } } } ================================================ FILE: src/core/highlighters/unix_process.rs ================================================ use super::RegexExt; use crate::core::config::UnixProcessConfig; use crate::core::highlighter::Highlight; use crate::core::highlighters::Painter; use memchr::memchr; use regex::{Error, Regex, RegexBuilder}; use std::borrow::Cow; pub struct UnixProcessHighlighter { regex: Regex, name: Painter, id: Painter, bracket: Painter, } impl UnixProcessHighlighter { pub fn new(config: UnixProcessConfig) -> Result { let pattern = r"(?P\([A-Za-z0-9._ +:/-]+\)|[A-Za-z0-9_/-]+)\[(?P\d+)]"; let regex = RegexBuilder::new(pattern).unicode(false).build()?; Ok(Self { regex, name: Painter::new(config.name.into()), id: Painter::new(config.id.into()), bracket: Painter::new(config.bracket.into()), }) } } impl Highlight for UnixProcessHighlighter { fn apply<'a>(&self, input: &'a str) -> Cow<'a, str> { if memchr(b'[', input.as_bytes()).is_none() { return Cow::Borrowed(input); } self.regex.replace_all_cow(input, |caps, buf| { if let Some(p) = caps.name("process_name") { self.name.paint(buf, p.as_str()); } self.bracket.paint(buf, "["); if let Some(n) = caps.name("process_id") { self.id.paint(buf, n.as_str()); } self.bracket.paint(buf, "]"); }) } } #[cfg(test)] mod tests { use super::*; use crate::core::tests::escape_code_converter::ConvertEscapeCodes; use crate::style::{Color, Style}; #[test] fn test_unix_process_highlighter() { let highlighter = UnixProcessHighlighter::new(UnixProcessConfig { name: Style::new().fg(Color::Magenta), id: Style::new().fg(Color::Green), bracket: Style::new().fg(Color::Blue), }) .unwrap(); let cases = vec![ ( "process[1]", "[magenta]process[reset][blue][[reset][green]1[reset][blue]][reset]", ), ( "postfix/postscreen[1894]: CONNECT from [192.168.1.22]:12345 to [127.0.0.1]:25", "[magenta]postfix/postscreen[reset][blue][[reset][green]1894[reset][blue]][reset]: CONNECT from [192.168.1.22]:12345 to [127.0.0.1]:25", ), ("No process here!", "No process here!"), ]; for (input, expected) in cases { let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } } } ================================================ FILE: src/core/highlighters/url.rs ================================================ use super::RegexExt; use crate::core::config::UrlConfig; use crate::core::highlighter::Highlight; use crate::core::highlighters::Painter; use regex::{Error, Regex, RegexBuilder}; use std::borrow::Cow; pub struct UrlHighlighter { url_regex: Regex, query_params_regex: Regex, http: Painter, https: Painter, host: Painter, path: Painter, query_params_key: Painter, query_params_value: Painter, symbols: Painter, } impl UrlHighlighter { pub fn new(config: UrlConfig) -> Result { let url_pattern = r"(?x) (?Phttps?) (:) (//) (?P[A-Za-z0-9._\-]+) (?P(?:/[A-Za-z0-9._~\-/%+()]*)?) # common URL-safe chars incl parens (?P\?[A-Za-z0-9._~\-/%+&=;,@!*()?:]*)? # include &= and friends"; let url_regex = RegexBuilder::new(url_pattern).unicode(false).build()?; let query_params_pattern = r"(?x) (?P[?&]) (?P [A-Za-z0-9._~\-+%]*) # allow common URL-safe chars (?P =) (?P [A-Za-z0-9._~\-+%]*)"; let query_params_regex = RegexBuilder::new(query_params_pattern).unicode(false).build()?; Ok(Self { url_regex, query_params_regex, http: Painter::new(config.http.into()), https: Painter::new(config.https.into()), host: Painter::new(config.host.into()), path: Painter::new(config.path.into()), query_params_key: Painter::new(config.query_params_key.into()), query_params_value: Painter::new(config.query_params_value.into()), symbols: Painter::new(config.symbols.into()), }) } } /// Count how many trailing `)` characters are unbalanced within the given string. /// /// Returns the number of excess trailing `)` that should be stripped from the URL match. /// For example: /// - `"/wiki/Foo_(bar)"` → 0 (balanced) /// - `"https://example.com)"` → 1 (one unbalanced trailing paren) /// - `"/wiki/Foo_(bar))"` → 1 (one unbalanced trailing paren) fn count_unbalanced_trailing_parens(s: &str) -> usize { let open = s.chars().filter(|&c| c == '(').count(); let close = s.chars().filter(|&c| c == ')').count(); if close <= open { return 0; } let excess = close - open; let trailing = s.len() - s.trim_end_matches(')').len(); trailing.min(excess) } impl Highlight for UrlHighlighter { fn apply<'a>(&self, input: &'a str) -> Cow<'a, str> { self.url_regex.replace_all_cow(input, |caps, buf| { let full_match = caps.get(0).unwrap().as_str(); let trim_count = count_unbalanced_trailing_parens(full_match); if let Some(protocol) = caps.name("protocol") { let painter = match protocol.as_str() { "http" => &self.http, "https" => &self.https, _ => &self.http, }; painter.paint(buf, protocol.as_str()); buf.push_str("://"); } if let Some(host) = caps.name("host") { self.host.paint(buf, host.as_str()); } if let Some(path) = caps.name("path") { let path_str = path.as_str(); if caps.name("query").is_none() && trim_count > 0 { let trimmed = &path_str[..path_str.len() - trim_count]; self.path.paint(buf, trimmed); } else { self.path.paint(buf, path_str); } } if let Some(query) = caps.name("query") { let query_str = if trim_count > 0 { &query.as_str()[..query.as_str().len() - trim_count] } else { query.as_str() }; let mut last = 0usize; for query_caps in self.query_params_regex.captures_iter(query_str) { let m = query_caps.get(0).unwrap(); buf.push_str(&query_str[last..m.start()]); let delimiter = query_caps.name("delimiter").map_or("", |m| m.as_str()); let key = query_caps.name("key").map_or("", |m| m.as_str()); let equal = query_caps.name("equal").map_or("", |m| m.as_str()); let value = query_caps.name("value").map_or("", |m| m.as_str()); self.symbols.paint(buf, delimiter); self.query_params_key.paint(buf, key); self.symbols.paint(buf, equal); self.query_params_value.paint(buf, value); last = m.end(); } buf.push_str(&query_str[last..]); } // Append unbalanced trailing parens outside the highlighted URL for _ in 0..trim_count { buf.push(')'); } }) } } #[cfg(test)] mod tests { use super::*; use crate::core::tests::escape_code_converter::ConvertEscapeCodes; use crate::style::{Color, Style}; fn make_highlighter() -> UrlHighlighter { UrlHighlighter::new(UrlConfig { http: Style::new().fg(Color::Yellow), https: Style::new().fg(Color::White), host: Style::new().fg(Color::Green), path: Style::new().fg(Color::Blue), query_params_key: Style::new().fg(Color::Magenta), query_params_value: Style::new().fg(Color::Cyan), symbols: Style::new().fg(Color::Red), }) .unwrap() } #[test] fn test_url_highlighter() { let highlighter = make_highlighter(); let cases = vec![ ( "https://www.openai.com/docs/api?apikey=abc123", "[white]https[reset]://[green]www.openai.com[reset][blue]/docs/api[reset][red]?[reset][magenta]apikey[reset][red]=[reset][cyan]abc123[reset]", ), ( "https://api.example.org/api/v1/users?name=JohnDoe", "[white]https[reset]://[green]api.example.org[reset][blue]/api/v1/users[reset][red]?[reset][magenta]name[reset][red]=[reset][cyan]JohnDoe[reset]", ), ( "http://example.com/path/to/resource?param1=value1¶m2=value2", "[yellow]http[reset]://[green]example.com[reset][blue]/path/to/resource[reset][red]?[reset][magenta]param1[reset][red]=[reset][cyan]value1[reset][red]&[reset][magenta]param2[reset][red]=[reset][cyan]value2[reset]", ), ]; for (input, expected) in cases { let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } } #[test] fn test_url_with_balanced_parens_in_path() { let highlighter = make_highlighter(); // Wikipedia-style URL with balanced parentheses let input = "https://en.wikipedia.org/wiki/Foo_(bar)"; let expected = "[white]https[reset]://[green]en.wikipedia.org[reset][blue]/wiki/Foo_(bar)[reset]"; let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } #[test] fn test_url_wrapped_in_parens() { let highlighter = make_highlighter(); // URL surrounded by parentheses — trailing ) should not be highlighted let input = "(https://example.com/path)"; let expected = "([white]https[reset]://[green]example.com[reset][blue]/path[reset])"; let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } #[test] fn test_url_with_balanced_parens_wrapped_in_parens() { let highlighter = make_highlighter(); // Wikipedia URL inside parentheses — inner parens balanced, outer ) excluded let input = "(https://en.wikipedia.org/wiki/Foo_(bar))"; let expected = "([white]https[reset]://[green]en.wikipedia.org[reset][blue]/wiki/Foo_(bar)[reset])"; let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } #[test] fn test_url_with_query_wrapped_in_parens() { let highlighter = make_highlighter(); // URL with query string inside parentheses let input = "(https://example.com/path?key=value)"; let expected = "([white]https[reset]://[green]example.com[reset][blue]/path[reset][red]?[reset][magenta]key[reset][red]=[reset][cyan]value[reset])"; let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } #[test] fn test_url_not_wrapped_no_parens() { let highlighter = make_highlighter(); // Plain URL without any parentheses — nothing to trim let input = "https://example.com/path"; let expected = "[white]https[reset]://[green]example.com[reset][blue]/path[reset]"; let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } #[test] fn test_url_single_quote_not_included() { let highlighter = make_highlighter(); // URL wrapped in single quotes — quote should not be part of URL let input = "'https://example.com/path'"; let expected = "'[white]https[reset]://[green]example.com[reset][blue]/path[reset]'"; let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } #[test] fn test_multiple_parenthesized_urls_on_one_line() { let highlighter = make_highlighter(); let input = "(https://a.com) and (https://b.com)"; let expected = "([white]https[reset]://[green]a.com[reset][blue][reset]) and ([white]https[reset]://[green]b.com[reset][blue][reset])"; let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } #[test] fn test_url_with_parens_in_query_string() { let highlighter = make_highlighter(); let input = "https://example.com/api?filter=(name)"; let expected = "[white]https[reset]://[green]example.com[reset][blue]/api[reset][red]?[reset][magenta]filter[reset][red]=[reset][cyan][reset](name)"; let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } #[test] fn test_url_double_wrapped_in_parens() { let highlighter = make_highlighter(); let input = "((https://example.com))"; let expected = "(([white]https[reset]://[green]example.com[reset][blue][reset]))"; let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } #[test] fn test_url_with_nested_parens_in_path() { let highlighter = make_highlighter(); let input = "https://en.wikipedia.org/wiki/Foo_(bar_(baz))"; let expected = "[white]https[reset]://[green]en.wikipedia.org[reset][blue]/wiki/Foo_(bar_(baz))[reset]"; let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } #[test] fn test_count_unbalanced_trailing_parens() { assert_eq!(count_unbalanced_trailing_parens("no parens"), 0); assert_eq!(count_unbalanced_trailing_parens("/wiki/Foo_(bar)"), 0); assert_eq!(count_unbalanced_trailing_parens("https://example.com)"), 1); assert_eq!(count_unbalanced_trailing_parens("https://example.com))"), 2); assert_eq!(count_unbalanced_trailing_parens("/wiki/Foo_(bar))"), 1); assert_eq!(count_unbalanced_trailing_parens("/a_(b)_(c))"), 1); } } ================================================ FILE: src/core/highlighters/uuid.rs ================================================ use super::RegexExt; use crate::core::config::UuidConfig; use crate::core::highlighter::Highlight; use crate::core::highlighters::Painter; use memchr::memchr; use regex::{Error, Regex, RegexBuilder}; use std::borrow::Cow; pub struct UuidHighlighter { regex: Regex, number: Painter, letter: Painter, dash: Painter, } impl UuidHighlighter { pub fn new(config: UuidConfig) -> Result { let pattern = r"(?x) # Enable comments and whitespace insensitivity \b[0-9a-fA-F]{8}\b # Match first segment of UUID - # Match separator \b[0-9a-fA-F]{4}\b # Match second segment of UUID - # Match separator \b[0-9a-fA-F]{4}\b # Match third segment of UUID - # Match separator \b[0-9a-fA-F]{4}\b # Match fourth segment of UUID - # Match separator \b[0-9a-fA-F]{12}\b # Match last segment of UUID "; let regex = RegexBuilder::new(pattern).unicode(false).build()?; Ok(Self { regex, number: Painter::new(config.number.into()), letter: Painter::new(config.letter.into()), dash: Painter::new(config.dash.into()), }) } } fn has_at_least_n_dashes(bytes: &[u8], n: usize) -> bool { let mut start = 0; for _ in 0..n { match memchr(b'-', &bytes[start..]) { Some(pos) => start += pos + 1, None => return false, } } true } impl Highlight for UuidHighlighter { fn apply<'a>(&self, input: &'a str) -> Cow<'a, str> { if !has_at_least_n_dashes(input.as_bytes(), 4) { return Cow::Borrowed(input); } self.regex.replace_all_cow(input, |caps, buf| { let matched = caps.get(0).unwrap().as_str(); for (i, c) in matched.char_indices() { let s = &matched[i..i + c.len_utf8()]; let painter = match c { '0'..='9' => &self.number, 'a'..='f' | 'A'..='F' => &self.letter, '-' => &self.dash, _ => { buf.push(c); continue; } }; painter.paint(buf, s); } }) } } #[cfg(test)] mod tests { use super::*; use crate::core::tests::escape_code_converter::ConvertEscapeCodes; use crate::style::{Color, Style}; #[test] fn test_uuid_highlighter() { let highlighter = UuidHighlighter::new(UuidConfig { number: Style::new().fg(Color::Cyan), letter: Style::new().fg(Color::Yellow), dash: Style::new().fg(Color::Red), }) .unwrap(); let cases = vec![ ( "The UUID is 123e4567-e89b-12d3-a456-426614174000.", "The UUID is [cyan]1[reset][cyan]2[reset][cyan]3[reset][yellow]e[reset][cyan]4[reset][cyan]5[reset][cyan]6[reset][cyan]7[reset][red]-[reset][yellow]e[reset][cyan]8[reset][cyan]9[reset][yellow]b[reset][red]-[reset][cyan]1[reset][cyan]2[reset][yellow]d[reset][cyan]3[reset][red]-[reset][yellow]a[reset][cyan]4[reset][cyan]5[reset][cyan]6[reset][red]-[reset][cyan]4[reset][cyan]2[reset][cyan]6[reset][cyan]6[reset][cyan]1[reset][cyan]4[reset][cyan]1[reset][cyan]7[reset][cyan]4[reset][cyan]0[reset][cyan]0[reset][cyan]0[reset].", ), ( "Another UUID is f47ac10b-58cc-4372-a567-0e02b2c3d479.", "Another UUID is [yellow]f[reset][cyan]4[reset][cyan]7[reset][yellow]a[reset][yellow]c[reset][cyan]1[reset][cyan]0[reset][yellow]b[reset][red]-[reset][cyan]5[reset][cyan]8[reset][yellow]c[reset][yellow]c[reset][red]-[reset][cyan]4[reset][cyan]3[reset][cyan]7[reset][cyan]2[reset][red]-[reset][yellow]a[reset][cyan]5[reset][cyan]6[reset][cyan]7[reset][red]-[reset][cyan]0[reset][yellow]e[reset][cyan]0[reset][cyan]2[reset][yellow]b[reset][cyan]2[reset][yellow]c[reset][cyan]3[reset][yellow]d[reset][cyan]4[reset][cyan]7[reset][cyan]9[reset].", ), ("No UUID here!", "No UUID here!"), ]; for (input, expected) in cases { let actual = highlighter.apply(input); assert_eq!(expected, actual.to_string().convert_escape_codes()); } } } ================================================ FILE: src/core/mod.rs ================================================ pub mod highlighter; pub mod style; pub mod config; mod highlighters; mod utils; #[cfg(test)] mod tests { pub(crate) mod escape_code_converter; } ================================================ FILE: src/core/style.rs ================================================ use nu_ansi_term::{Color as NuColor, Style as NuStyle}; use serde::Deserialize; /// Defines the styling attributes for highlighted text. /// /// Allows setting foreground (`fg`) and background (`bg`) colors as well as /// text attributes like bold, italic, faint, and underline. /// /// Use the provided builder methods for convenient configuration. /// /// # Examples /// /// ```rust /// use tailspin::style::{Style, Color}; /// /// let style = Style::default().fg(Color::Blue).bold(); /// ``` #[derive(PartialEq, Eq, Ord, PartialOrd, Hash, Debug, Clone, Copy, Default, Deserialize)] pub struct Style { #[serde(default)] pub fg: Option, #[serde(default)] pub bg: Option, #[serde(default)] pub bold: bool, #[serde(default)] pub faint: bool, #[serde(default)] pub italic: bool, #[serde(default)] pub underline: bool, } impl Style { pub fn new() -> Style { Style::default() } pub const fn bold(&self) -> Style { Style { bold: true, ..*self } } pub const fn faint(&self) -> Style { Style { faint: true, ..*self } } pub const fn italic(&self) -> Style { Style { italic: true, ..*self } } pub const fn underline(&self) -> Style { Style { underline: true, ..*self } } pub const fn fg(&self, fg: Color) -> Style { Style { fg: Some(fg), ..*self } } pub const fn on(&self, bg: Color) -> Style { Style { bg: Some(bg), ..*self } } } /// Available ANSI colors for terminal output. /// /// Includes standard and bright variants. /// /// # Examples /// /// ```rust /// use tailspin::style::Color; /// /// let cyan = Color::Cyan; /// ``` #[derive(PartialEq, Eq, Ord, PartialOrd, Hash, Debug, Clone, Copy, Default, Deserialize)] #[serde(rename_all = "snake_case")] pub enum Color { #[default] Default, Black, Red, Green, Yellow, Blue, Magenta, Cyan, White, BrightBlack, BrightRed, BrightGreen, BrightYellow, BrightBlue, BrightMagenta, BrightCyan, BrightWhite, } impl From<&Color> for NuColor { fn from(color: &Color) -> Self { match color { Color::Default => NuColor::Default, Color::Black => NuColor::Black, Color::Red => NuColor::Red, Color::Green => NuColor::Green, Color::Yellow => NuColor::Yellow, Color::Blue => NuColor::Blue, Color::Magenta => NuColor::Magenta, Color::Cyan => NuColor::Cyan, Color::White => NuColor::White, Color::BrightBlack => NuColor::DarkGray, Color::BrightRed => NuColor::LightRed, Color::BrightGreen => NuColor::LightGreen, Color::BrightYellow => NuColor::LightYellow, Color::BrightBlue => NuColor::LightBlue, Color::BrightMagenta => NuColor::LightMagenta, Color::BrightCyan => NuColor::LightCyan, Color::BrightWhite => NuColor::LightGray, } } } impl From