@Override
 public String[] getRecords() {
   String[] r = {
     scenarioId.getScenarioId(),
     Long.toString(scenarioId.getRepliqueNumber()),
     tempsReel,
     tempslogique,
     nomObj
   };
   return join(r, s.getRecords());
 }
  @Override
  public void log(
      ScenarioId scenarioId,
      Temporal t,
      LogicalDateTime d,
      LogLevels level,
      Object obj,
      String function,
      String message,
      Object... args) {
    if (!level.equals(LogLevels.data)) {
      StackTraceElement el = Thread.currentThread().getStackTrace()[8];
      String elTxt = "(" + el.getFileName() + ":" + el.getLineNumber() + ")>" + el.getMethodName();

      ps.printf(message, args);
      String[] s;
      if (d == null) {
        if (obj != null)
          s =
              new String[] {
                scenarioId.getScenarioId(),
                Long.toString(scenarioId.getRepliqueNumber()),
                t.toString(),
                "",
                level.toString(),
                obj.toString(),
                elTxt,
                baos.toString()
              };
        else
          s =
              new String[] {
                scenarioId.getScenarioId(),
                Long.toString(scenarioId.getRepliqueNumber()),
                t.toString(),
                "",
                level.toString(),
                "",
                elTxt,
                baos.toString()
              };
      } else {
        if (obj != null)
          s =
              new String[] {
                scenarioId.getScenarioId(),
                Long.toString(scenarioId.getRepliqueNumber()),
                t.toString(),
                d.toString(),
                level.toString(),
                obj.toString(),
                elTxt,
                baos.toString()
              };
        else
          s =
              new String[] {
                scenarioId.getScenarioId(),
                Long.toString(scenarioId.getRepliqueNumber()),
                t.toString(),
                d.toString(),
                level.toString(),
                "",
                elTxt,
                baos.toString()
              };
      }
      baos.reset();

      Logs l = new Logs(s);
      createRowFrom(l);
    } else {
      if (IRecordable.class.isAssignableFrom(obj.getClass())) {
        DataLogs dl =
            new DataLogs(scenarioId, t.toString(), d.toString(), obj.toString(), (IRecordable) obj);
        createRowFrom(dl);
      }
    }
  }