Skip to content

Instantly share code, notes, and snippets.

@ishults
ishults / Grails_Groovy_Versions.txt
Last active February 9, 2023 18:04
List of Groovy versions for Grails
// Compiled by Igor Shults
// Last Updated: July 23, 2020
GRAILS GROOVY SOURCE
4.1.0 2.5.14 https://github.com/grails/grails-core/blob/v4.1.0/gradle.properties
4.0.4 2.5.6
4.0.3 2.5.6
4.0.2 2.5.6
4.0.1 2.5.6
4.0.0 2.5.6 https://github.com/grails/grails-core/blob/v4.0.0/build.gradle
@ishults
ishults / LogMaskingConverter.groovy
Last active February 2, 2023 15:41
The class that will handle filtering the log statements
@Plugin(name = 'logmask', category = 'Converter')
@ConverterKeys(['cm'])
class LogMaskingConverter extends LogEventPatternConverter {
private static final String NAME = 'cm'
private static final String JSON_REPLACEMENT_REGEX = "\"\$1\": \"****\""
private static final String JSON_KEYS = ['ssn', 'private', 'creditCard'].join('|')
private static final Pattern JSON_PATTERN = Pattern.compile(/"(${JSON_KEYS})": "([^"]+)"/)
LogMaskingConverter(String[] options) {
super(NAME, NAME)
@ishults
ishults / LoggingMarkers.groovy
Last active January 11, 2021 18:47
The logging markers for Log4j
class LoggingMarkers {
static final Marker JSON = MarkerFactory.getMarker('JSON-MASK')
static final Marker XML = MarkerFactory.getMarker('XML-MASK')
}
# Compiled by Igor Shults
# As of version 0.17.x
####################################################
# #
# Basic Settings #
# #
####################################################
### Global configuration ###
@ishults
ishults / LogMaskingConverterSpec.groovy
Last active September 26, 2017 17:07
Tests for the main class
class LogMaskingConverterSpec extends Specification {
@Shared
LogMaskingConverter converter
void setup() {
converter = new LogMaskingConverter()
}
@Unroll
@ishults
ishults / example.groovy
Created September 24, 2017 18:35
Invoking the log marker
log.info(LoggingMarkers.JSON, '{"ssn": "1234567890"}') // Will mask
log.info('{"ssn": "1234567890"}') // Will NOT mask
log.info(LoggingMarkers.XML, '{"ssn": "1234567890"}') // Will try to mask, but probably won't work for this message
@ishults
ishults / log4j2.xml
Created September 24, 2017 18:07
Log4J 2 configuration
<Configuration packages='com.path.to.logging, com.your.other.packages'>
<Properties>
<Property name="maskingPattern">
%d, level=%p, %cm
</Property>
</Properties>
...
</Configuration>
@ishults
ishults / pom.xml
Last active September 24, 2017 17:06
Dependencies
<properties>
<log4j.version>2.7</log4j.version>
<slf4j.version>1.7.22</slf4j.version>
</properties>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j.version}</version>
</dependency>
@ishults
ishults / gitTestModified.sh
Last active February 14, 2017 18:36
Main script
#!/bin/sh
usage(){
echo "Usage: `basename $0` [-h] [-r] [-t testOptions] [<directory>...]\n"
echo ' -h Show this help message.'
echo ' -r Remove the default directories, and only use the ones provided. Without the flag, the provided directories will be appended to the default list.'
echo ' -t Options to pass to "grails test-app". Default: none.'
echo ' See: http://grails.org/doc/latest/ref/Command%20Line/test-app.html'
}
# Parse the arguments
server {
listen 80;
server_name example.com; # Your site
rewrite ^ https://$host$request_uri permanent;
}
server {
listen 443 default_server ssl;
server_name example.com; # Your site