Faites parler vos logs avec logstash

Le 13/05/2014 | 1391 hits

Logstash est un outil de de gestion de logs et d’events.
Il permet de les collecter, les parser pour finalement les stocker.

Logstash fait partie d'ElasticSearch. Il s’intègre d’ailleurs très bien avec lui.

A noter que les rivières d’ElasticSearch sont dépréciées au profit d’un pipeline logstash.
Donc n’utilisez plus les rivières pour un nouveau projet.

Il est codé en Ruby.

Nous allons dans ce premier article mettre en place notre premier “pipeline” avec LogStash.

Cela consistera à prendre une entrée au clavier, la parser pour finalement renvoyer la sortie dans cette même console. Nous prendrons l’exemple d’une ligne de log venant d’une application java.


Notification d'évènements dans le FileSystem avec Java > 5

Le 12/03/2014 | 845 hits

Pourquoi surveiller les Events du FileSystem ?

Je travaille actuellement avec spring-integration.
Celui-ci est chargé de renommer puis déplacer des fichiers arrivant dans un répertoire d’entrée dans le répertoire de sortie (en réalité, c’est un poil plus compliqué).


BreizhCamp 2013 : talk sur la programmation fonctionnelle

Le 14/06/2013 | 1182 hits

J’ai présenté au BreizhCamp 2013, une approche possible pour la mise en place de la programmation fonctionnelle avec du java d’aujourd’hui, java 6 ou 7.

Le code source est disponible sur github :

https://github.com/dgouyette/breizhcamp2013

La présentation est disponible sur slideshare :

http://fr.slideshare.net/cestpasdur/breizh-camp2013-programmationfonctionellejava


Programmation fonctionnelle : utiliser le type Either dans les applications java d'aujourd'hui

Le 30/05/2013 | 1230 hits

Introduction

Dans l’article précédent, je vous ai donné la définition suivante pour le type option :

Option : type polymorphique représentant l’encapsulation d’une valeur optionnelle. Ce type est utilisé en retour de méthode pour signifier que celle-ci retourne ou non une valeur significative.

Le type Either est l’encapsulation de l’appel à une méthode pouvant échouer.

Exemple de validation d’un mot de passe :

  • Si le mot de passe est correct je continue,
  • Si cela ne se passe pas bien, je veux récupérer un message d’erreur que je pourrais afficher à l’utilisateur.

Ci-dessous l’exemple de code :

public void matchPassword(String pwd) {
   if (pwd == null || "".equals(pwd))
      throw new ValidationException("Invalid password");
   //
   // The password entered by the customer is not the same stored in database
   if (!pwd.equals(password))
      throw new ValidationException("Passwords don't match");
    } 

Le code de cette méthode indique que si le mot de passe est correct, ne rien faire. Si le mot de passe ne correspond pas, ou est vide, celle-ci va retourner une exception portant un message d’erreur.

Si l’on regarde la signature de la méthode, celle ci ne retourne rien, et pas de checked exception en signature.
Ce n’est pas “très expressif”, voyons comment Either peux nous aider à rendre cette méthode plus parlante.


Programmation fonctionnelle : utiliser le type Option dans les applications java d'aujourd'hui

Le 24/05/2013 | 1827 hits

Cet article va vous présenter le type option, et ses différents cas d’usage.

Il sera illustré d’exemples mis en place sur un fork du java petstore d’Antonio GONCALVES